matlab整理版

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1-2章

常用的命令和技巧

(1)若干个通用操作命令

Cd改变当目录

Clear 清除内存中的所有变量和函数

Clc擦除matlab工作窗口中所有显示的内容

Clf擦除matlab当前窗口中的图形

Dir列出指定目录下的文件和子目录清单

Disp在运行中显示变量或文字内容

Echo制运行文字指令是否显示

(2)命令行中的键盘按键

加目录到搜索路径范围:―file‖→‖set path‖→―browse ‖按钮选择文件夹→‖add to path‖→‖refresh‖→‖ save setings‖

(一) 向量产生

1.直接输入向量

向量元素用“[]”括起来,元素之间用空格、逗号或分号分隔,空格、逗号生成行向量,分号分隔生成列向量。

2. 用冒号表达式生成向量

格式:[变量=]n:s:m

功能:产生从n到m,步长为s的一系列值

3.线性等分向量的生成

用linspace 函数和logspace函数产生

格式:linspace(n,m,k)

产生一个从n到m等间隔的向量,其点数为k

y=logspace(n,m,k)生成n维对数等分向量,使得y(1)=10^n, y(k)=10^m

如:logspace(0,5,6)

产生6个元素。分别是1 10 100 1000 10000 100000

点积

dot(a,b) 返回a和b的数量点积,要求a和b必须同维。当a和b都为列向量时,dot(a,b)同于a’*b

–dot(a,b,dim) 返回a和b在维数为dim的点积

–Sum(a.*b)

●叉积:在数学上表示两相交向量的交点得垂直于两向量所在平面的向量。

cross(a,b) 返回向量a和b的叉积向量。即c=a*b。其中a和b必须为三维向量。

●混合积

dot(a,cross(b,c))

(一)矩阵的输入

1.实数矩阵

方法1:直接输入矩阵

约定: 用[ ]将所有的元素括起来

同行元素之间空格或逗号隔开

不同行之间分号隔开

●方法2: 内部语句或函数产生

举例: ones(2,5), 得到2*5 矩阵,各元素为1

举例: zeros(4,3),得到4*3矩阵,各元素均为零;e=rnd(2,3) 得到2*3随机矩阵

●方法3: 利用M文件产生矩阵

for i=1 :3

for j=1 :2

f(i,j)=i+j

end

end

f;

运行该程序后就会自动产生3*2矩阵

●方法3:在M文件输入矩阵的行列具体数值,存盘后在命令窗口中输入M文件的文

件名,运行该文件就能自动生成矩阵。

如下述例子就是在M文件(ls1)存放的内容

exm=[1 2 3

-1 -2 -3

3 4 5]

在命令窗口中输入ls1

●方法4: 利用外部文件装入到指定的矩阵

当数据量较多时.可借助于其它编辑的软件来实现

如:通过windows附件下的记事本进行编辑存盘后,使用命令:load [盘符][路径] <文件名.扩展名>

●方法5: 导入Excel数据文件中的数据该矩阵变量名为Excel数据文件中的文件名

●方法为:执行主窗口下的FILE菜单下的Import Data功能项,按照向导提示

初步完成。

1.产生基本矩阵的函数

Eye(n) 单位矩阵

格式: y= Eye(n) n*n的单位阵y

y= Eye(m, n) m*n的单位阵y

y= Eye(size(a)) 产生与A同维的单位阵y

(2) Ones 全1列阵

格式: y= ones(n) n*n的单位阵y

y= ones(m, n) m*n的单位阵y

y=ones(size(a)) 产生与A同维的单位阵y

(3) Zero全0矩阵

(4) Rand随机函数和阵列

2. 矩阵转置

格式:x’

3.矩阵的行列式值

函数为:det()

4.矩阵加,减

要求:A,B两矩阵整数相同:

矩阵与矩阵运算:对应位量上的元素相加.减;矩阵与标量加、减: 矩阵中的每个元素都与标量进行加.,减运算

5.矩阵乘法

要求:前一点矩阵的列数等于后一点矩阵的行数

①矩阵与矩阵相乘

②矩阵与标量相乘每个元素均乘以某一个标量

6.矩阵的除法(左除\)、(右除/)

a\b=inv(a)*b ax=b ⎭x=a-1b

b/a=b*inv(a) x*a=b ⎭x=b*a-1

注意:

(1) inv(a) 求矩阵的逆,要求a 为方阵

(2) Matlab采用IEEE算法,即使A是奇异(A的行列式值为0)照样进行,但会给出―Waring: Matrix is singular to working‖,当矩阵A为病态时, Matlab算法会造成计算误差可能很大,―Waring:Matrix is badly scaled to working precision‖

应用:

(1)解静定方程的解:ax=b

方法1: x=inv(a)*b

方法2: x=a\b

(2)求解的方程是超静定的(方程的个数多于未知数的个数)

用Householder直接求解方程的最小二乘解

举例:方程的系数矩阵:a=[3 4 6;5 7 9;2 5 8;3 –9 6]

常数项矩阵b=[2 ;3 ;4 ;7]

方程ax=b的解为:x=a\b

(3)求解的方程是欠静定的(方程的个数少于未知数的个数)

在解中至多有rank(a)(矩阵a的秩)个非0元素

举例:

系数矩阵:A=[3 4 6;5 7 9;2 5 8;3 –9 6] 的转置,常数项矩阵b=[2 ;3 ;4],则方程的解为:

X=a\b

要注意的是:欠静定方程的解是不惟一的,在MATLAB中用除法解方程时所得的解是所有解中范数最小的一个。

7.矩阵的乘方^

●p为整数时

p>0 a^P 表示a自乘p次

p<0 a^P 表示a自乘p次后的逆(非奇异矩阵成立)

p=0 a^P 将得到一单位矩阵

8.矩阵的开方运算

●函数为:sqrt(A)

9. 特征值与特征向量(矩阵必须为方阵)

●[x,y]=eig(a)

x 返回矩阵a特征向量,y为特征值矩阵。

10.秩

●rank(a)

11.积

●矩阵所有对角线上元素的和称为矩阵的积

函数为:trace(a)

12.逆

●当矩阵为方阵且非奇异时:Inv(a)

相关文档
最新文档