lanlorr

妹妹你大胆的向前走啊

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

1.Matlab简单操作


作者:Lanlor 2018/1/23 13:53:31

简单功能

1.帮助

  1. 查找:
    · help exp 查找某一个函数的说明
    · lookfor 查找与之相关的指令
    · doc 超文本格式的帮助文件,一个函数的帮助信息用doc命令以超文本方式给出
    · pdf 帮助文件
    2)提供工作空间变量信息
    · who 执行该命令可列出工作空间的所有变量
    · whos 显示所有的变量,变量的元素个数和所占的字节数等
    · size(a) 执行该命令可以得到矩阵a的行数和列数
    · length(a) 执行该命令后,屏幕上显示出向量a的长度。如果a是矩阵,则显示的参数为行数列数中的最大者。

2.简单表达

  1. 矩阵的输入: [a,b,c;d,e,f]
  2. 连行号: ...
  3. 特殊变量:
    · ans 结果缺省变量名
    · pi 圆周率
    · NaN 不定量,如0/0
    · inf 无穷大,如1/0
    · i/j i=j=√(-1)
    4)字符串用单引号
    5)数学运算与函数:
    ·基本:+,-,,/,,^
    A\B,B/A,A.
    B,A./B,A.^B
    ·矩阵运算:
    • 求行列式:det
      • 共轭转置:A'
    • 矩阵求逆:inv
    • 求秩:rank
    • 求迹:trace
    • 求模:norm
    • 求矩阵A的特征值:d=eig(A)
    • 求矩阵A 的特征向量和特征值:[v,d]=eig(A),这里v的列向量是对应的特征向量。

3.基本的数学函数

1)常用数学函数:sin,cos,tan,abs,min,sqrt,log,log10,sign,asin,acos,atan,max,sum,exp,fix 等
2)常用的矩阵函数:expm,logm,sqrtm 和funm,funm 函数可计算任何一个基本数学函数的矩阵函数。它可以表示为
fa=funm(a,'fun')
式中,fun 可以是任意一个基本函数,如sin,cos,log10 等。
3)多项式:
ⅰ.poly函数:
p=poly(A),A 是一个n × n的矩阵时,此函数返回矩阵 A 的特征多项式 p,p是n +1维向量;A 是向量时,此函数返回以向量中的元素为根的多项式。
ⅱ.多项式的数组运算
y=polyval(p,x) 计算多项式在x 处的值,x 可以是矩阵或向量,此时函数计算多项式在x的每个元素处的值。
ⅲ.多项式的矩阵运算
y=polyvalm(p,x) 相当于用矩阵x 代替多项式的变量来对矩阵而不是对数组进行运算,x 必须是方阵。例如:

多项式矩阵运算

可采用如下的命令进行计算
p=[1 3 2];
a=[1 2; 3 4];
polyvalm(p,a)
ⅳ.多项式的乘法和除法运算
w=conv(u,v) 此函数求多项式u 和v 的乘积,即求向量u 和v 的卷积。如果m=length(u),n=length(v),则w 的长度为m+n-1。
[q,r]=deconv(u,v) 此函数表示多项式u 除以多项式v 得到商多项式q 和余数多项
式r,如果r 的元素全部为零,则表示多项式v 可以整除多项式u。

多项式常用方式:

多项式的简单用法

4.关于矩阵的表达

1)产生一个行向量
· t=[0:0.1:10] %产生从0到10的行向量,元素之间间隔为0.1
· t=linespace(n1,n2,n) %产生n1和n2之间线性均匀分布的n个数(缺省n时,产生100个数)
· t=logspace(n1,n2,n) %缺省n时,产生50个数
2)矩阵的标号
· A(m,n) 矩阵的m行n列
· A(1:2,1:3) A的从第一行到第二行,从第一列到第三列的所有元素
· A(😃 可以得到一个长向量,该向量的元素是按列一一叠加在一起的。
3)特殊矩阵
ⅰ.单位矩阵 eye(m),eye(size(a))得到与矩阵a同样大小的单位矩阵,eye(m,n)可得到一个可允许的最大单位矩阵而其余互补0.
ⅱ.1矩阵 ones(n),ones(size(a)),ones(m,n)
ⅲ.0矩阵 zeros(n),zeros(m,n)
ⅳ.空矩阵 空矩阵是一个特殊矩阵,这在线性代数中是不存在的。用法:
a=rand(5); a(:,1:3)=[]
第一条指令执行后得到一个5× 5的矩阵;第二条指令将矩阵 a的前三列删除。
ⅴ.对角矩阵: v是向量时,diag(v)得到以v 的元素为对角线上元素的对角矩阵;当v是矩阵时,diag(v) 得到一个列向量,其元素为矩阵v对角线上的元素;diag(v,1)得到矩阵v 对角线上移一行的元素组成的列向量,diag(v,-1)得到矩阵v 对角线下移一行的元素组成的列向量。

5.结构数组

1)定义:用赋值语句定义和用函数struct 定义。
·用赋值语句定义结构时,只要给出结构的属性赋值,Matlab 就会自动把该属性增加到结构中,赋值时,结构名和属性名用“.”分开。例如,下面三条语句将定义一个1×1的结构数组,结构名为student,有三个属性:name、num、test。该结构数组只有一个元素,在命令窗口中键入结构名student,将显示该元素所有属性的属性值的特性。

student.name = 'John Doe';
student.num = 123456;
student.test = [7,5,3;2,4,7;2,4,8];
%再加入以下三行给该结构数组增加一个元素
student(2).name = 'Ann';
student(2).num = 134652;
student(2).test = [2,6,3;7,0,2;7,5,9];

·用struct函数时格式:
结构数组名 = struct('属性1','属性值1','属性2','属性值2',...)
2)结构数组属性值的修改、设置和获取
·n=student(2).test(4,2)
取出第二个元素test 的值中第四行第二列上的数。
·结构数组有关函数:
表1 结构数组的有关函数

结构数组有关的函数

6.细胞数组

1)定义
由于有细胞数组这个数据类型,才能把不同类型、不同维数的数组组成为一个数组。
细胞数组的每一个元素可为类型不同、维数不同的矩阵、向量、标量或多维数组,所有元素用大括号括起来。
如矩阵A=[1 2 3 4;2 3 4 5;3 4 5 6],则命令c={A,sum(A),sum(sum(A))}得到一个1×3的细胞数组。
细胞数组有关的函数

2)细胞数组的生成
有两种方法可以生成细胞数组:用赋值语句直接生成(有两种方法对元素赋值);先用cell 函数预分配数组,然后再对每个元素赋值。
ⅰ.用赋值语句方式:
·第一种:

A(1,1)={[1:5;6:10]};
A(1,2)={'Anne cat'};
A(2,1)={3+7i};
A(2,2)={0:pi/10:pi};  

结果:
细胞数组运行结果
·第二种:

A{1,1}=[1:5;6:10];
A{1,2}='Anne cat';
A{2,1}=3+7i;
A{2,2}=0:pi/10:pi;

结果与上面一样。


ⅱ.用cell函数方式:
细胞数组运行结果2

3)细胞数组内容的查看
用大括号{ }括起来的下标为细胞数组的第几个元素,用圆括号()括起来的下标为大括号{ }对应的某个元素的分量
细胞数组内容的查看

posted on 2018-01-23 13:55  lanlorr  阅读(407)  评论(0编辑  收藏  举报