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为特征多项式系数:这是多项式的伴随矩阵。