MATLAB三维数组作图。是数组,不是三维数据。类似N1N2N3这样的数组可视化作图?
mean(x)3 进行数组运算的常用函数
matlab norm函数作用 matlab里norm函数
在MATLAB中有一些常用函数,这些函数在日常的编程计算过程中会经常遇到,一般是基本的数学概念在MATLAB中的函数表达方式。这些函数在MATLAB中可以同时作用于整个矩阵或者数组,应用起来非常方便,不需要再另写循环程序来对各元素分别进行计算。掌握这些函数是进一步学习的基础。MATLAB人性化的地方在于其自带函数基本是按照相对应的英文名称缩写而来,所以便于记忆。
3.1 函数数组运算规则的定义
对于(mn)的数组,函数的数组运算规则是指:
也就是说函数的数组运算是指将函数作用于矩阵中的每一个元素,并将的结果储存为与原矩阵行列数相同的矩阵。
3.2 进行数组运算的常用函数
本小节列出进行数组运算的常用函数。常用基本数学函数见表2-2,常用三角函数见表2-3,常用适用于向量的函数见表2-4。
表2-2 MATLAB常用的基本数学函数
函 数
函 数
abs(x)
纯量的或向量的长度
rat(x)
将实数x化为分数表示
angle(z)
复数z的相角
sign(x)
符号函数 当x<0时,sign(x)=-1; 当x=0时,sign(x)=0; 当x>0时,sign(x)=1
sqrt(x)
方
rem(x,y)
求x除以y的余数
real(z)
复数z的实部
(x,y)
整数x和y的公因数
imag(z)
复数z的虚部
lcm(x,y)
整数x和y的最小公倍数
conj(z)
复数z的共轭复数
exp(x)
自然指数
round(x)
四舍五入至最近整数
pow2(x)
fix(x)
无论正负,向0的方向取最近整数
log(x)
以e为底的对数,即自然对数
floor(x)
舍去法取最近整数
log2(x)
以2为底的对数
ceil(x)
进一法取最近整数
log10(x)
以10为底的对数
表2-3 MATLAB常用的三角函数
函 数
函 数
sin(x)
sinh(x)
超越正弦函数
cos(x)
余弦函数
cosh(x)
超越余弦函数
第 11 页tan(x)
正切函数
tanh(x)
超越正切函数
反正弦函数
asinh(x)
反超越正弦函数
acos(x)
反余弦函数
acosh(x)
反超越余弦函数
atan(x)
反正切函数
反超越正切函数
atan2(x,y)
四象限的反正切函数
表2-4 适用于向量的常用函数
函 数
函 数
min(x)
向量x的元素的最小值
norm(x)
向量x的欧氏长度,也就是范数
max(x)
向量x的元素的值
sum(x)
向量x的元素总和
向量x的元素的平均值
prod(x)
向量x的元素总乘积
median(x)
向量x的元素的中位数
cumsum(x)
向量x的累计元素总和
std(x)
向量x的元素的标准
cumprod(x)
向量x的累计元素总乘积
diff(x)
向量x的相邻元素的
dot(x, y)
向量x和y的内积
sort(x)
对向量x的元素进行排序
cross(x, y)
向量x和y的外积
【例2-9】 数组运算示例。
>> a=[1 2 4 9;16 25 36 49]
a =
1 2 4 9
16 25 36 49
>> b=sqrt(a) % 应用函数对矩阵中的每一个元素分别开方
b =
1.0000 1.4142 2.0000 3.0000
4.0000 5.0000 6.0000 7.0000
4. 查询矩阵信息
在矩阵的使用过程中,经常需要查询某个矩阵的一些基本信息,比如行数、列数、总元素个数、各元素的数据类型等,这就需要我们掌握矩阵信息查询函数。
4.1 矩阵的形状信息
表2-5中的函数,可以用来查询一个矩阵形状的信息。
表2-5 矩阵形状信息
函数名称
函数【例2-10】 查询矩阵形状信息示例。功能
函数名称
函数功能
length
返回矩阵最长的一维的长度
numel
返回矩阵的元素个数
ndims
返回矩阵的维数
size
返回矩阵各维的长度
下面举例说明如何使用这些函数。
>> A = rand(5) 10 % 生成55的随机矩阵
A =
2.3114 4.5647 7.94 9.3547 3.5287
6.0684 0.1850 9.2181 9.1690 8.1317
4.8598 8.2141 7.3821 4.1027 0.0986
8.30 4.4470 1.7627 8.9365 1.3889
>> A(4:5, :) = [] % 删除第4行和第5行
A =
2.3114 4.5647 7.94 9.3547 3.5287
6.0684 0.1850 9.2181 9.1690 8.1317
>> size(A)
3 5
>>a= length(A)
a =
5>> b=sum(A(:))/numel(A) % 使用Sum和numel函数计算矩阵A的平均值
b =
5.8909
>> c=mean(mean(A)) % 使用mean函数验证矩阵A的平均值
c =
5.5388
4.2 矩阵的数据类型
与其他编程语言类似,MATLAB提供有多种数据类型,相关内容将在第3章中介绍。本小节介绍用来查询数据类型的函数。
表2-6 判断数据类型函数
函数名称
函数功能
函数名称
函数功能
isa
查询输入矩阵是否是给定类型
isinteger
iscell
查询输入矩阵是否是cell数组
islogical
查询输入矩阵是否是逻辑数组
iscellstr
查询输入矩阵是否是由字符串构成的cell数组
isnumeric
查询输入矩阵是否是数值数组
ischar
查询输入矩阵是否是字符串
isreal
查询输入矩阵是否是实数
isfloat
查询输入矩阵是否是浮点数组
isstruct
查询输入矩阵是否是structure数组
表2-7中的函数,可以用来查询一个矩阵中所用的数据结构。
表2-7 数据的结构查询函数
函数名称
函数功能
函数名称
函数功能
isempty
查询输入矩阵是否为空
issparse
查询输入矩阵是否是稀疏矩阵
isscalar
查询输入矩阵是否是11标量
isvector
查询输入矩阵是否是向量
怎么画出随机信号的样本函数
对于norm函数,矩阵的2-范数定义为所谓的“谱范数”。矩阵 A 的谱范数是 A 的奇异值或半正定矩阵 AA 的特征值的平方根,相当于随机信号分析常用函数及示例
atanh(x)1、熟悉练习使用下列MATLAB函数,给出各个函数的功能说明和内部参数的意
rand():
函数功能:生成均匀分布的伪随机数
使用方法:
r = rand(n)
生成nn的包含标准均匀分布的随机矩阵,其元素在(0,1)内。
第 1 页
rand(m,n)或rand([m,n])
生成的mn随机矩阵。
rand(m,n,p,...)或rand([m,n,p,...])
rand ()
产生一个随机数。
rand(size(A))
生成与数组A大小相同的随机数组。
r = rand(..., 'double')或r = rand(..., 'single')
第 2 页
返回指定类型的标准随机数,其中double指随机数为双精度浮点数,single 指随机数为单精度浮点数。
例:r=rand(3,4);
运行结果:
r= 0.4235 0.4329 0.7604 0.20
0.5155 0.2259 0.5298 0.3798
randn():
函数功能:生成正态分布伪随机数
第 3 页
使用方法:
r = randn(n)
生成nn的包含标准正态分布的随机矩阵。
randn(m,n)或randn([m,n])
生成的mn随机矩阵。
randn(m,n,p,...)或randn([m,n,p,...])
randn ()
产生一个随机数。
第 4 页
randn(size(A))
生成与数组A大小相同的随机数组。
返回指定类型的标准随机数,其中double指随机数为双精度浮点数,single 指随机数为单精度浮点数。
产生一个均值为1,标准为2的正态分布随机值:r=1+2.randn(10,1);
运行结果:r= -1.3756
第 5 页
3.4046
2.9727
-0.0373
1.6547
1.4681
1.0429
-1.0079
-0.8943
0.2511
第 6 页
函数功能:生成正态分布的随机数
使用方法:
R = normrnd(mu,sigma)
生成服从均值参数为mu和标准参数sigma的正态分布的随机数。mu和sigma可能是有相同大小的向量、矩阵或数组,也和R有相同的大小。如果mu或sigma是标量,则被扩展为和另一个输入有相同维数的数组。
R = normrnd(mu,sigma,v)
生成服从均值参数为mu和标准参数sigma的正态分布的v个随机数组,其中v是行向量。
第 7 页
如果v是12的向量,则R是有v(1)行和v(2)列的矩阵。
如果v是1n的向量,则R是一个n维数组。
R = normrnd(mu,sigma,m,n)
生成服从均值参数为mu和标准参数sigma的正态分布的mn的随机数矩阵。
例:r=normrnd(0,1,[1 5]);
运行结果:
r= -1.1859 -1.0559 1.4725 0.0557 -1.2173
第 8 页
mean()
函数功能:求数组的平均数或者均值
使用方法:
M = mean(A)
返回沿数组中不同维的元素的平均值。
如果A是一个向量,mean(A)返回A中元素的平均值。
如果A是一个矩阵,mean(A)将中的各列视为向量,把矩阵中的每列看成一个向量,返回一个包含每一列所有元素的平均值的行向量。如果A是一个多元数组,mean(A)将数组中个非单一维的值看成一个向量,返回每个向量的平均值。
第 9 页
M = mean(A,dim)
返回A中沿着标量dim指定的维数上的元素的平均值。对于矩阵,mean(A,2)就是包含每一行的平均值的列向量。
例:a=[1 2 3;4 5 6; 7 8 9;10 11 12; ];
mean(a)
5.5000
6.5000
7.5000
第 10 页
mean(a,2)
25
811
var()
函数功能:计算方
使用方法:
如果X是一个向量,返回向量X的方。
如果X是一个矩阵,var(X)返回一个包含矩阵X每一列方的行向量。
如果X是一个N维数组,var沿着个X的非单一维进行作。
只要X是同分布的,结果V是X分布的总体方的无偏估计。
当N>1时,var由N-1来标准化,其中N是样本大小。
只要样本是同分布的,它就是X分布的总体方的无偏估计。对N=1来说,v由N来标准化。
V = var(X,1)
由N来标准化,并且生成了样本关于其均值的二阶矩,var(X,0)等价于var(X)。V = var(X,w)
计算向量X的方利用权重向量w,向量w中元素的数目必须和X中的列的数目相同,向量w中的元素必须全是正数。var归一化w是的总和为1。
V = var(X,w,dim)
沿着指定维数dim求X的方,默认用N-1标准化这时w为0,w为1时用N标准化。
第 13 页
x=[4 5 3 5 2 5 6];
xcorr()
函数功能:互相关函数
使用方法:
c = xcorr(x,y)
第 14 页
c = xcorr(x) 为矢量x的自相关估计;
c = xcorr(x,y,'option') 为有正规化选项的互相关计算;其中选项为"biased"为有偏的互相关函数估计;
"unbiased"为无偏的互相关函数估计;
"coeff"为0延时的正规化序列的自相关计算;
"none"为原始的互相关计算;
c = xcorr(x,y,maxlags) 返回一个延迟范围在[-maxlags,maxlags]的互相关函数序列,输出c的程度为2maxlags-1.
第 15 页
c = xcorr(x,maxlags) 返回一个延迟范围在[-maxlags,maxlags]的自相关函数序列,输出c的程度为2maxlags-1.
c = xcorr(x,y,maxlags,'option') 同时指定maxlags和option的互相关计算.
c = xcorr(x,maxlags,'option') 同时指定maxlags和option的自相关计算. [c,lags] = xcorr(...)返回一个在c进行相关估计的延迟矢量lag,其范围为[-maxlags:maxlags],当maxlags没有指定时,其范围为[-N+1,N-1]
例:r=randn(1000,1);
[c,lags]=xcorr(r,10,'coeff');
stem(lags,c);
periodogram()
函数功能:返回序列x,用周期图法的功率谱估计,加参数window是采用修正的周期图法,window制定窗的系数。
使用方法:
[Pxx,w]=periodogram(x)
[Pxx,w]=periodogram(x,window)
第 17 页
例:Fs = 1000; t = 0:1/Fs:.3;
x = cos(2pit200)+randn(size(t));
periodogram(x,[],'twosided',512,Fs);
fft()
函数功能:快速傅里叶变换
使用方法:X=fft(x)
例:x=[1 3 5 4 2 5 6 7];
X=fft(x);
第 18 页
X =
33.0000 -0.2929 + 4.5355i -8.0000 + 3.0000i -1.7071 + 2.5355i -5.0000 -1.7071 - 2.5355i -8.0000 - 3.0000i -0.2929 - 4.5355i
normpdf()
使用方法:Y=normpdf(X,MU,SIMA)
求解数学期望为MU,标准为SIMA的正态分布随机变量的概率密度函数在x处的值,若输入时MU,SIGMA为空,则默认为标准正态分布.MU为0,SIGMA为1
第 19 页
例:x=0;
y=normpdf(x,0,1)
0.3989
normcdf()
函数功能:正态分布概率分布函数
使用方法:P=normcdf(X,MU,SIGMA)
求解数学期望为MU,标准为SIMA的正态分布随机变量的累积概率分布函数,X 表示X处的概率分布函数值,若输入时MU,SIGMA为空,则默认为标准正态分布.MU为0,SIGMA为1
第 20 页
例:x=0;
y=normcdf(x,0,1)
0.5000
unifpdf()
函数功能:均匀分布概率密度函数
使用方法:Y=unifpdf(x,a,b)
a,b表示在[a,b]区间内均匀分布的随机变量,x表示其在x处的概率密度值,若输入时a,b为空,则默认a为0,b为1。
第 21 页
例:x=3;
y=unifpdf(x,2,6);
0.0
unifcdf()
函数功能:均匀分布累积概率分布函数
使用方法:Y=unifcdf(x,a,b)
a,b表示在[a,b]区间内均匀分布的随机变量,x表示其2的指数在x处的概率分布函数值,若输入时a,b为空,则默认a为0,b为1。
y=unifpdf(x,2,6);
0.5000
raylpdf()
函数功能:瑞利分布概率密度函数
使用方法:Y=raylpdf(x,b)
参数为b的瑞利分布在x处的概率密度函数。
y=raylpdf(x,2)
y=
0.2206
raylcdf()
函数功能:瑞利分布概率分布函数
使用方法:Y=raylcdf(x,b)
参数为b的瑞利分布在x处的概率分布函数值。
y=raylcdf(x,2)
第 24 页
y=
0.1175
exppdf()
函数功能:指数分布概率密度函数
使用方法:Y=exppdf(x,mu)
位置参数为mu的指数分布在x处的概率密度函数值,若mu处输入为空,则默认mu=1.
y=exppdf(x,3)
第 25 页
y=
0.2388
expcdf()
函数功能:指数分布概率分布函数
使用方法:Y=exppdf(x,mu)
位置参数为mu的指数分布在x处的概率分布函数值,若mu处输入为空,则默认mu=1.
y=expcdf(x,3)
第 26 页
y=
0.2835
函数功能:Cholesky(矩阵)分解
使用方法:
R = chol(A)
从矩阵A的对角线和上三角生成一个上三角矩阵R,满足R'R=A。下三角被认为是上三角的(复共轭)转置,矩阵A必须是正定的,否则,MATLAB显示错误信息。L = chol(A,'lower')
第 27 页
从矩阵A的对角线和下三角生成一个下三角矩阵L,满足LL'=A。当A为稀疏矩阵,chol是非常快的。矩阵A必须是正定的,否则,MATLAB显示错误信息。
[R,p] = chol(A)
对于正定矩阵A,从矩阵A的对角线和上三角生成一个上三角矩阵R,满足R'R=A并且p=0。
对于A不是正定的,则p是正整数,MATLAB不产生任何信息。
当A是全
tcdf是matlab统计工具箱函数吗
f=sin(x/180pi)随机变量的累积概率值(分布函数值)
1 通用函数这个错误很奇怪。报的是在camdolly函数中调用norm函数出错,说【找不到指定的模块】,而norm是内建函数,不应该找不到的。而移动图形属于一个很基本的作,在很久以前就非常成熟了。计算累积概率值
命令 通用函数cdf用来计算随机变量的概率之和(累积概率值)
b=5,c=7,d=11,e=12;函数 cdf
格式
说明 返回以name为分布,随机变量X≤K的概率之和的累积概率值,name的取值见表4-1 常见分布函数表
2 专用函数计算累积概率值(随机变量的概率之和)
命令 二项分布的累积概率值
函数 binocdf
格式 binocdf (k, n, p) %n为试验总次数,p为每次试验A发生的概率,k为n次试验中A发生的次数,该命令返回n次试验中A恰好发生k次的概率.
命令 正态分布的累积概率值
函数 normcdf
格式 normcdf() %返回F(x)=的值,mu,sigma为正态分布的两个参数表
专用函数的累积概率值函数表
函数名
调用形式
注 释
unifcdf
unifcdf (x, a, b)
[a,b]上均匀分布(连续)累积分布函数值 F(x)=P{X≤x}
unidcdf
unidcdf(x,n)
均匀分布(离散)累积分布函数值 F(x)=P{X≤x}
expcdf
expcdf(x, Lambda)
参数为Lambda的指数分布累积分布函数值 F(x)=P{X≤x}
normcdf
normcdf(x, mu, sigma)
参数为mu,sigma的正态分布累积分布函数值 F(x)=P{X≤x}
chi2cdf
chi2cdf(x, n)
自由度为n的卡方分布累积分布函数值 F(x)=P{X≤x}
tcdf
tcdf(x, n)
自由度为n的t分布累积分布函数值 F(x)=P{X≤x}
fcdf
fcdf(x, n1, n2)
自由度为n1,第二自由度为n2的F分布累积分布函数值
gamcdf
gamcdf(x, a, b)
参数为a, b的分布累积分布函数值 F(x)=P{X≤x}
betacdf
betacdf(x, a, b)
参数为a, b的分布累积分布函数值 F(x)=P{X≤x}
logncdf
logncdf(x, mu, sigma)
参数为mu, sigma的对数正态分布累积分布函数值
nbincdf
nbincdf(x, R, P)
参数为R,P的负二项式分布概累积分布函数值 F(x)=P{X≤x}
ncfcdf
ncfcdf(x, n1, n2, delta)
参数为n1,n2,delta的非中心F分布累积分布函数值
nctcdf
参数为n,delta的非中心t分布累积分布函数值 F(x)=P{X≤x}
ncx2cdf
ncx2cdf(x, n, delta)
参数为n,delta的非中心卡方分布累积分布函数值
raylcdf
raylcdf(x, b)
参数为b的瑞利分布累积分布函数值 F(x)=P{X≤x}
weibcdf
weibcdf(x, a, b)
参数为a, b的韦伯分布累积分布函数值 F(x)=P{X≤x}
binocdf
binocdf(x,n,p)
参数为n, p的二项分布的累积分布函数值 F(x)=P{X≤x}
geocdf
geocdf(x,p)
参数为 p的几何分布的累积分布函数值 F(x)=P{X≤x}
hygecdf
hygecdf(x,M,K,N)
参数为 M,K,N的超几何分布的累积分布函数值
poisscdf
poisscdf(x,Lambda)
参数为Lambda的泊松分布的累积分布函数值 F(x)=P{X≤x}
说明 累积概率函数就是分布函数F(x)=P{X≤x}在x处的值.
matlab中的norm是什么意思?
查询输入矩阵是否是整数数组norm([1 2 3])看是否正常,如果不正常,请贴出出错信息。matlab是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室),软件主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式。
再如:a=30;b=45;c=60;跪求:如何实现matlab函数参数赋值
表2-6中的函数,可以用来查询一个矩阵中所用的数据类型。定义全局变量就可以的,你可以在命令窗口中先分别定义
如第 23 页:a=2,
x=[a
bc
de];
f=f(x例:x=4;)
回车就ok啦
x=[a
bc];
用matlab运行一下看看你做到了没!!
数学建模常用到的matlab函数有哪些?
9.5013 7.6210 6.1543 4.0571 0.5789sort (排序)
>> rand('state', 0); % 设置随机种子,便于读者验证xlsread ( exl文件导入)
load (txt 文件,ma说 明t文件等导入)
实际上,常用的函数也是很有针对性的,我还真不知道 你要问什么
矩阵范数
nctcdf(x, n, delta)定义:对于任意矩阵 A ,都有一个 确定的实数 与之对应,并且这个实数满足下面4条性质:
y =本文使用的是长方形矩阵:
下面常用的矩阵范数有3种,下面直接给出定义:
(2)1范数/列范数:各列var(x)值求和,取那个
(3)2范数:与转置阵相乘后,取特征值的开根号
其中 表示 的特征值;我们知道: 一个矩阵的转置与它自己想乘,就会得到一个对称正定阵!并且对称正定阵的特征值都是非负的! 所以2范数根号里的东西不可能是 负数 ,2范数的结果也不可能是 复数 ,故仍满足上面的4个条件。
注意:矩阵 x 哪怕只是个行向量或列向量,所有的范数它也是拥有的!
对范数的说明:对于 矩阵而言没必要考虑范数的区别 ,因为有限维空间的 范数都等价 ( Minkowski 定理)。后面要根据范数做判断时,既然范数没区别,那么意思就是 各种范数都要满足条件 。
谱半径只针对" 方阵 "而言!设 为n阶方阵A的全部特征值。则称:
为方阵A的谱半径,含义为: 的那个特征值 (方阵自己的特征值是可以有正有负的)。
注意: 方阵A的谱半径不超过其任何一种范数 !即:
上述各种范数,对应matlab中的函数是 norm ,已亲测norm函数和上文说的内容是一致的。
给一个2范数的例子:(转置原矩阵)的特征的开根号
结果:一致
请问这样求4-范数是否正确,还有其它方法吗?s=0; for i=1:4 for j=1:4 s=s+a(i,j)^4; end end s4=s^(1/4)
T = ..;这一句是求协方矩阵;求出来之后用下面那句算特征向量。矩阵的范数定义比起向量要复杂很多,有很多种定义。常见的定义包括诱导范数和元范数,都有对矩阵p-范数的定义,但matlab的norm函数只支持求矩阵的四种范数(1,2,inf和Frobenius范数),不包括4-范数。
matlab中的norm是求范数的函数。norm的功能是一种可以在向量空间里对向量赋予长度和大小,格式是n=norm(A,p),返回A的奇异值,即max(svd(A)) n=norm(A,p),根据p的不同,返回不同的值。你的代码求出的范数属于元范数,可以更简单点写成:
chol()s=sum(a(:).^4)^(1/4)
这和你使用循环求出的结果相同。
matlab s2=norm(A,2); s4=sum(sum(abs(A)^2))^(1/2) 为什么结果不同?
0.3340 0.5798 0.6405 0.783normrnd()3这个问题问的好。
如果A为向量,其p-范数计算公式为sum(abs(A).^p)^(1/p),其中1<=p<=inf;
对于矩阵生成的mnp随机矩数组。A,范数的计算公式不同于向量:
只支持p=1,2,inf或'fro'四种取值,也就是说,不能计算3-范数,比如norm(A,3)会报错;
你可以比较一下,这个和norm(A,2)的结果相同。
matlab中使用快速pca提取特征
例:x=1;mA应该是A的均值,可以通过mA = mean(A);求得,其实也不必写在输入里第 12 页,在程序里有A就可以自己求出来了。
Z = ...;这一句是将A去均值。在这里应该是A的每一列为一个特征,这样做是去掉每一个特征里面的均值成分,跟你做信号处理一般先去直流分量一样。
k是你要取得主特征数量,用这个函数求出来有用的就是pcaA了,具体怎么用就要看你的应用了
mA 是 A函数功能:求解正态分布概率密度函数的均值.
Z=(A-repmat(mA,m,1));T=ZZ';这两句是计算协方
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 12345678@qq.com 举报,一经查实,本站将立刻删除。