matlab函数中 SIGMA命令用法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了matlab函数中 SIGMA命令用法相关的知识,希望对你有一定的参考价值。

在自动控制应用下的MATLAB工具箱中,用SIGMAB函数求系统的幅频裕量和相频裕量,具体用法是怎么样的

matlab函数中 SIGMA 是计算动态系统系统的频率响应的奇异值并绘制动力系统的奇异曲线。

具体使用方法:

H = [0, tf([3 0],[1 1 10])

tf([1 1],[1 5]), tf(2,[1 6])]

[svH,wH] = sigma(H);

[scIH,wIH] = sigma(H,[],2);

subplot(2,1,1);

sigma(H)

subplot(2,1,2);

sigma(H,[],2)

运行结果

参考技术A p(sigma==0 & x>=mu)=1;
这两句起到的作用是处理sigma=0的边界情况.正常的累积密度函数是从0逐渐变化到1的,而对于标准差为0的情况,也就意味着所有随机变量都等于均值,所以cdf就在均值mu处由0跃变到1.但这样的cdf不能通过正常的方法计算,所以作为特例单独处理.

这种处理不知是从哪个版本引入的,从我手上的版本看,2008b还没有,但2012b有.在2008b如果计算标准差为0的cdf会得到NaN.
参考技术B 这个在matlab的软件中自带了例子,你可以搜下来看看,方法是在菜单的‘help’中,随便点击一个打开了帮助的界面,然后在serach中输入sigma,
定义区间用x=0:0.001:1,这个意思就是x属于0到1,求和用sum()函数。比如A=【1 2 5 6 9 8】;
用sum(A)就可以求出A的和
参考技术C 绘制频谱图,对数为坐标使表示范围更广。
用法可以
help
sigma

Matlab正态分布常用函数normpdf_normcdf_norminv_normrnd_normfit

1.normpdf

功能:正态分布概率密度函数

用法

Y = normpdf(X,mu,sigma)
Y = normpdf(X) %  (mu = 0, sigma = 1)
Y = normpdf(X,mu) % (sigma = 1)

例子

% code1
% 画标准正态分布概率密度函数
x = -10:0.01:10;
y = normpdf(x, 0, 1);
plot(x,y);
grid on;

结果:

自己写一个正态分布概率密度函数

% code2
% 画正态分布概率密度函数
% 写成了函数
function [] = normal_distribution()
x = -10:0.01:10;
y = fx(x, 0, 1); % 自写函数
plot(x,y);
grid on;

% 概率密度函数
function f = fx(x, miu, sig)
f = (sqrt(2*pi)*sig).^(-1) * exp(-(x-miu).^2/(2*sig*sig));

结果:

2.normcdf

功能:正态分布函数

用法

p = normcdf(x) % 标准正态分布
p = normcdf(x,mu,sigma)

例子

% code3
% 画正态分布函数
x = -10:0.01:10;
y = normcdf(x, 0, 1);
plot(x,y);
grid on;

结果:

3.norminv

功能:正态分布分位数

用法

X = norminv(P,mu,sigma)

例子

分位数的意思就是,如有:
P X ≥ x α = α P\\X \\geq x_\\alpha \\ = \\alpha PXxα=α
则称 x α x_\\alpha xα X X X的上侧 α \\alpha α分位数。

norminv(1-0.05,0,1)

结果:1.6449

4.normrnd

功能:生成正态随机数

用法:

R = normrnd(mu,sigma)         % 生成一个数
R = normrnd(mu,sigma,m,n,...) % 生成m*n列向量

例子:

>> normrnd(0,1)
ans =
    1.4122
>> normrnd(0,1,5,3)
ans =
    0.0226    0.9199   -0.7777
   -0.0479    0.1498    0.5667
    1.7013    1.4049   -1.3826
   -0.5097    1.0341    0.2445
   -0.0029    0.2916    0.8084

5.normfit

功能:正态分布参数估计

用法

[muhat,sigmahat] = normfit(data)                    % 点估计mu和sigma
[muhat,sigmahat,muci,sigmaci] = normfit(data)		% 区间估计,默认置信度95%
[muhat,sigmahat,muci,sigmaci] = normfit(data,alpha) % 置信度100(1 - alpha) %

例子:

>> r=normrnd(0,1,100,2); 		 % 生成100*2和标准正态分布
>> [muhat,sigmahat] = normfit(r) % 点估计mu和sigma
muhat =
   -0.1214   -0.1076
sigmahat =
    0.9723    1.0072
    
>> [muhat,sigmahat,muci,sigmaci] = normfit(r) % 区间估计,默认置信度95%
muhat =                  % 点估计
   -0.1214   -0.1076
sigmahat =
    0.9723    1.0072
muci =
   -0.3143   -0.3074
    0.0715    0.0923
sigmaci =                % 区间估计
    0.8537    0.8843
    1.1295    1.1701
    
>> [muhat,sigmahat,muci,sigmaci] = normfit(r,0.05) % 置信度100(1 - alpha) %
muhat =                  % 点估计
   -0.1214   -0.1076
sigmahat =
    0.9723    1.0072
muci =                    % 区间估计
   -0.3143   -0.3074
    0.0715    0.0923
sigmaci =
    0.8537    0.8843
    1.1295    1.1701

以上是关于matlab函数中 SIGMA命令用法的主要内容,如果未能解决你的问题,请参考以下文章

学习Matlab中fspecial的用法!

matlab 中sigma函数的调用方式,最好能举一个例子说明!

Matlab正态分布常用函数normpdf_normcdf_norminv_normrnd_normfit

Matlab正态分布常用函数normpdf_normcdf_norminv_normrnd_normfit

matlab中imagesc函数得到图像,怎么还原?

matlab高斯滤波自定义函数怎么做