MATLAB基础知识
1 基础知识
1.1 MATLAB简介
- whos :产生一个在当前工作区域内所有变量和数组状况表,在Command Window直接输入whos,显示的是Workspace所有变量的属性。
- help :查询工能。
- ver :MATLAB版本信息。
1.2 矩阵表示
>> T=[11 12 1 2 3 4 5 6 7 8 9 10]
T =
11 12 1 2 3 4 5 6 7 8 9 10
>> X=[2.32 3.43;4.37 5.98]
X =
2.3200 3.4300
4.3700 5.9800
>> MB=[1 2 4;2 3 3;5 4 5]
MB =
1 2 4
2 3 3
5 4 5
>> Null=[]
Null =
[]
>> a=1.7;b=3/25;
>> C=[1,3*a+i*b,b*sqrt(a);sin(pi/5),a+7*b,3.9+1]
C =
1.0000 + 0.0000i 5.1000 + 0.1200i 0.1565 + 0.0000i
0.5878 + 0.0000i 2.5400 + 0.0000i 4.9000 + 0.0000i
>> R=[1 2 3;4 5 6],M=[11 12 13;14 15 16]
R =
1 2 3
4 5 6
M =
11 12 13
14 15 16
>> RM=R+i*M
RM =
1.0000 +11.0000i 2.0000 +12.0000i 3.0000 +13.0000i
4.0000 +14.0000i 5.0000 +15.0000i 6.0000 +16.0000i
- sym
>> sym_d=str2sym('[1 2 3;a b c;sin(x) cos(y) tan(z)]')
sym_d =
[ 1, 2, 3]
[ a, b, c]
[ sin(x), cos(y), tan(z)]
>> sym_m=str2sym('[a b c;Jack Help_Me NO_WAY]')
sym_m =
[ a, b, c]
[ Jack, Help_Me, NO_WAY]
>> syms a b c
>> M1=sym('Classical');
>> M2=sym('Claysw');
>> M3=sym('yellow');
>> yswM123=[a,b,c;M1,M2,M3;2,3,5;5,4,6]
yswM123 =
[ a, b, c]
[ Classical, Claysw, yellow]
[ 2, 3, 5]
[ 5, 4, 6]
- 数值型转换为字符型
>> Digit_Ma=[1/3 sqrt(3) 3.1;exp(0.3) log(10) 23^.5]
Digit_Ma =
0.3333 1.7321 3.1000
1.3499 2.3026 4.7958
>> Syms_Ma=sym(Digit_Ma)
Syms_Ma =
[ 1/3, 3^(1/2), 31/10]
[ 3039611811401035/2251799813685248, 2592480341699211/1125899906842624, 23^(1/2)]
特殊矩阵
(1) 全零阵
- 函数
zeros
格式- B=zeros(n) % 生成n*n全零阵
- B=zeros(m,n) % 生成m*n全零阵
- B=zeros([m,n]) % 生成m*n全零阵
- B=zeros(d1,d2,d3...) % 生成d1d2d3*...全零阵
- B=zeros([d1,d2,d3,...]) % 生成d1d2d3*...全零阵
- B=zeros(size(A)) % 生成与矩阵A大小相同的全零阵
(2) 单位阵
- 函数
eye
格式- Y=eye(n) % 生成n*n单位阵
- Y=eye(m,n) % 生成m*n单位阵
- Y=eye(size(A)) % 生成与矩阵A大小相同的单位阵
(3) 全1阵
- 函数
ones
格式- B=ones(n) % 生成n*n全1阵
- B=ones(m,n) % 生成m*n全1阵
- B=ones([m,n]) % 生成m*n全1阵
- B=ones(d1,d2,d3...) % 生成d1d2d3*...全1阵
- B=ones([d1,d2,d3,...]) % 生成d1d2d3*...全1阵
- B=ones(size(A)) % 生成与矩阵A大小相同的全1阵
(4) 均匀分布随机矩阵
- 函数
rand
格式- B=rand(n) % 生成n*n随机矩阵,其元素在(0,1)内
- B=rand(m,n) % 生成m*n随机矩阵
- B=rand([m,n]) % 生成m*n随机矩阵
- B=rand(d1,d2,d3...) % 生成d1d2d3*...随机矩阵
- B=rand([d1,d2,d3,...]) % 生成d1d2d3*...随机矩阵
- B=rand(size(A)) % 生成与矩阵A大小相同的随机矩阵
- rand % 无变量输入时只产生一个随机数
- s=rand('state') % 产生包括均匀发生器当前状态的35个元素的向量
- rand('state',s) % 使状态重置为s
- rand('state',0) % 重置发生器到初始状态
- rand('state',j) % 对整数j重置发生器到第j个状态
- rand('state',sum(100*clock)) % 每次重置到不同状态
(5) 正态分布随机矩阵
- 函数
randn
格式- B=randn(n) % 生成n*n正态分布随机矩阵
- B=randn(m,n) % 生成m*正态分布随机矩阵
- B=randn([m,n]) % 生成m*n正态分布随机矩阵
- B=randn(d1,d2,d3...) % 生成d1d2d3*...正态分布随机矩阵
- B=randn([d1,d2,d3,...]) % 生成d1d2d3*...正态分布随机矩阵
- B=randn(size(A)) % 生成与矩阵A大小相同的正态分布随机矩阵
- randn % 无变量输入时只产生一个正态分布随机数
- s=randn('state') % 产生包括均匀发生器当前状态的2个元素的向量
- randn('state',s) % 使状态重置为s
- randn('state',0) % 重置发生器到初始状态
- randn('state',j) % 对整数j重置发生器到第j个状态
- randn('state',sum(100*clock)) % 每次重置到不同状态
(6) 产生随机排列
- 函数
randperm
格式- p=randperm(n) % 产生1~n之间整数的随机数排列
(7) 产生线性等分量函数
- 函数
linspace
格式- y=linspace(a,b) % 在(a,b)上产生100个线性等分点
- y=linspace(a,b,n) % 在(a,b)上产生n个线性等分点
(8) 产生对数等分向量
- 函数
logspace
格式- y=logspace(a,b) % 在\((10^a,10^b)\)上产生50个对数等分向量
- y=logspace(a,b,n) % 在\((10^a,10^b)\)上产生n个对数等分向量
(9) 计算矩阵中元素个数
- 函数
numel
格式- n=numl(a) % 返回矩阵A中元素的个数
(10) 产生以输入元素为对角元素的矩阵
- 函数
blkdiag
格式- out=blkdiag(a,b,c,d,...) % 产生以a,b,c,d,...为对角线元素的矩阵
(11) 友矩阵
- 函数
compan
格式- A=compan(u) % u为多项式系统向量,A为友矩阵,A的第1行元素为-u(2:n)/u(1),其中u(2:n)为u的第2到n个元素,A的特征值就是多项式的特征根。
(12) Hadamard矩阵
- 函数
hamdamard
格式- H=hamdamard(n) % 返回n阶Hamdamard矩阵
(13) hankel方阵
- 函数
hankel
格式- H=hankel(c) % 第1列元素为c,反三角一下元素为0
- H=hankel(c,r) % 第1列元素为c,最后一元素为r。如果c的最后一个元素与r的第一个元素不同,交叉位置的元素取为c的最后一个元素
(14) Hilbert矩阵
- 函数
hilb
格式- H=hilb(n) % 返回n解Hilbert矩阵,其元素为H(i,j)=1/(i+j-1)
(15) 逆Hilbert矩阵
- 函数
invhilb
格式- H=invhilb(n) % 返回n解逆Hilbert矩阵
(16) Magic(魔方)矩阵
- 函数
magic
格式- M=magic(n) % 产生n解魔方矩阵
(17) Pascal矩阵
- 函数
pascal
格式- A=pascal(n) % 产生n阶Pascal矩阵。它是对称正定矩阵,元素由Pascal三角组成。它的逆矩阵的所有元素都是整数。
- A=pascal(n,1) % 返回由下三角的Cholesky系数组成的Pascal矩阵
- A=pascal(n,2) % 返回pascal(n,1)的转置和交换的形成
(18) 托普利兹矩阵
- 函数
toeplitz
格式- T=toeplitz(n) % 生成一个非对称的托普利兹矩阵,将c作为第1列,将r作为第1行,其余元素与左上角相邻元素相等
- T=torplitz(r) % 用向量r生成一个对称的托普利兹矩阵
(19) Wilkinson特征值测试阵
- 函数
wilkinson
格式- W=wilkinson(n) % 返回n阶Wilkinson特征值测试阵
【zlc】