Matlab拾零(to be continued)

1.a:n:b 运算符 和 linspace(a,b,n),作用相似,不同看参数位置。

2. ; 为命令执行结束标志。

3. ... 为续行符。

4.输入一个命令之后,系统会检查是不是变量、内部函数、当前目录M文件,搜索路径中其他目录中的文件。

5.clc  clear

6.帮助命令为 help 和 lookfor(aa) --M文件中首行包含aa的M文件,  加上-all变位全文搜索。

7.eps是预定义变量中的机器阈值0.

8.内存变量的显示与删除。who 与 whos

9.大矩阵可以再工作空间中打开编辑。

10.内存变量文件mat文件:save mydata a ; load mydata

11.数据的输出格式可以用format来控制,默认short,还有short e, long e,short g,bank...

12.大矩阵的建立可以存到M 文件中,到时候要用到该矩阵就直接调用m问价就好了。

13.eye(3); ones(3); 分别是建立单位矩阵和全1矩阵。

14.对矩阵中某个元素的引用方法:有A(2,3) 或者A(3),3指的是按列编号,先第一列再第二列。

15.m*n矩阵A的元素,A(i,j)的序号为(j-1)*m+i。

其中序号index和下标subscript可用sub2ind 和 ind2sub函数来进行转换。

eg: sub2ind(size(A),1,2)    ind2sub(size(A),3)

find结合逻辑输出序号find(A>=10&A<=20) 作用是找出在[10,20]区间的元素的位置。find可以直接用名字,eg字符串的名字,函数的实现机制中已经实现了循环。

16.size(A):返回连个数,分别是行数和列数。

length(A):返回行数,列数中的最大值。

ndims(A):返回矩阵的维数

reshape(A):将矩阵重新排列成m*n的二位矩阵。元素个数不变。

17.注意matlab中矩阵的元素是按列存储的。

18.用 : 来获取子矩阵, A(:,j)就代表取第j列全部元素, 而 A(i:i+m, k:k+m) 表示的就是 : 的一般意思,表示递进。

A(:) 表示的是将矩阵A的每一列都堆叠起来,组成一个列向量。

c(end, : ) 表示去最后一行;    c([1,4],3:end)表示取第1、4行的第3-end列、

end表示某一维的末尾元素下标。

19. 利用空矩阵进行元素删除:c(:,[2,4])=[ ] ;将c矩阵的第2和第4列删除。 而 clear c则是将c从这个工作空间中删除。

20.\ 和 /分别表示矩阵的左除和右除。A\B=inv(A)*B     B/A=b*inv(A)  对于矩阵来说这两者一般是不相等的。(除非A是非奇异矩阵)

21.①矩阵的乘方运算:A^x 前提是A是方阵。

22.matlab中的点运算符特殊:

对于标量来讲.*   ./    .\    .^都是普通的,表示单个元素之间的运算。

而对于运算量是矩阵的来说 .*  ./=.\  当两矩阵维数相同,表示对应元素的运算。

而 .^ 表示两个矩阵对应的元素进行乘方运算。

eg: y=sin(x) . *cos(x)  原因是matlab中的大部分数学函数,都是默认以矩阵为参数。

23. 数学函数中不熟悉的有: a...表示反三角  ...h表示双曲函数。 conj 复数共轭, angle复数辐角, real, imag, rem 求余、模

mod 模, fix 向零取整, floor ,ceil , round 四舍五入, sign符号函数, gcd最大公因子, lcm最小公倍数。

24.字符串以单引号括起来。matlab将其作为行向量。 字符串是以ASCII码的形式存储的。abs和double函数可用来获取字符串矩阵所对应的ASCII码数值矩阵。 char相反可将码矩阵换成字符矩阵。也用字符串修改后的重组。

25.取子串和逆序使用 : 冒号实现的, eg: ch=‘xxxxxxx’; ch(1:5)     ch(end:-1:1)

26.eval 可将字符串的内容作为matlab语句来执行。

27.较长的字符串可用[]括起来,eg: disp['tem is ',num2str(c),'degrees C'];

28.结构矩阵的建立,先定义空矩阵,然后用这样的赋值。

a(1).x1=10;a(1).x2='liu';a(1).x3=[11,2;3,5];  a(2).x1=12;a(2).x2='ma';a(2).x3=[1,3;45,5]

用rmfield,setfield,getfield,可以删除、设置、获取结构成员(x1,x2,x3)的值。具体eg: a=rmfield(a,'x2') //不加a= 修改不了。

29.单元矩阵同上类似都是将不同属性的数据放在一个变量中,不同的是,结构变量个元素下有成员,成员有名字;而单元矩阵的各个元素就是不同类型的数据,用带有大括号下标的形式,引用单元矩阵元素。

初始化形式: b={10,'liu',[1,2;34,78] ; 12,'wang',[23,4;3,4]}    引用方法 b{2,3} = b{6} 为什么相等看待的方法不同。前者是二维后者由于matlab自身特点决定。前边已经降到--。

元素删除方法 b(2) =[ ] ; b{3}=[ ] 是将第三个元素置为空矩阵。

30.特殊矩阵: zeros(2,3);ones(m,n);eyes(m,n);

rand(n):产生0-1间均匀分布的随机矩阵。

randn(n):产生均值为0,方差为1的标准正态分布随机矩阵。

magic(n):n阶魔方阵。 

vander([a;b;c;d]):指定的4阶范德蒙德矩阵。

hilb(n):n阶希尔伯特矩阵hij=1/(i+j-1)   其逆函数为invhilb(n);该矩阵条件数差,一般方法求逆后会因为原始数据的微小扰动产生不可靠的计算结果。

toeplitz(x,y||x)特普利茨矩阵:生成除第一行、列外,每个元素都等于其左上元素的矩阵。其中只有x(为向量)时,是对称的。且x为列,y为行。

compan(p);p=[a,b,c,d];//p为特征多项式系数:这是多项式的伴随矩阵。

pascal(n);(x+y)^n-1展开后的系数,组成杨辉三角,由它组成的矩阵成为帕斯卡矩阵。展开矩阵的次对角线是展开式的系数。

31.矩阵变换 x表示向量
对角阵:提取-diag(A,[n])    构造-diag(x,[n]) 
三角阵:上-triu(A)  下-tril(A)
矩阵转置: ‘ 号
旋转:90度-rot90(A,k=1 default)    左右-fliplr(A)   上下-flipud(A)

32.矩阵的逆和线性方程组求解
A不是方针则无逆矩阵inv(A),但可以有伪逆矩阵pinv(A).  求方程组解常用:A=[xxx;xxx;xxx]; b=[1,2,3,4]' ; x=inv(A)*b
奇异矩阵和非满秩方阵,也都有伪逆矩阵。其中伪逆矩阵是一个与A的转置矩阵A' 同型的矩阵。
方阵才有行列式的值 det(A)
矩阵的秩:线性无关的行列数。 rank(A) ;也成为奇异值
矩阵的迹:对角线元素之和,矩阵特征值之和 trace(A)
向量和矩阵的范数: norm(A) norm(A,1)  norm(A,inf)
矩阵的条件数:是矩阵A的范数和矩阵A逆矩阵的范数的乘积 cond(同上。。)
特征值和特征向量: E=eig(A)    [V,D]=eig(A)  V是特征向量列向量;D是特征值对角矩阵
求根:p=[x,x,x,x,x,]; A=compan(p); E=eig(A)  和  roots(p)  得到的效果是一样的。
矩阵的超越函数(必须是方阵)包括  sqrtm,expm,logm,funm


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值