Matlab基本语法教案

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

第二章基本语法

2.1 MATLAB的矩阵、变量与表达式

在MATLAB系统中,只管理着一种对象---矩阵(包括复数矩阵),任何数量在MATLAB 中是作为1x1的矩阵来处理的。

一、矩阵的创建:

1. 在MATLAB中创建矩阵的原则:

(1) 矩阵元素必须写在“[]”内;

(2) 矩阵的同一行之间用空格或“,”分隔;

(3) 矩阵的行与行之间用分号或回车符分隔;

(4) 矩阵的尺寸不必预先定义;

(5) 矩阵元素可以是数值、变量、表达式或函数。

2. 创建矩阵的四种方法。

(1) 在命令窗口直接输入:

如输入:A=[1,2,3;4,5,6;7,8,9]

则显示:A=

1 2 3

4 5 6

7 8 9

也可用空格代替逗号,用回车代替分号:

如上例:A=[1 2 3

4 5 6

7 8 9] 则显示:A= 1 2 3

4 5 6

7 8 9

(2) 由M文件创建矩阵:

有时编程需要用M文件创建矩阵。或者当矩阵尺寸较大时,可以按矩阵的输入方式编辑一个M 文件(可用循环程序来做),在命令窗口直接执行该文件,即可将矩阵调入工作空间。

(3) 由函数创建矩阵:

对于一些特殊的矩阵,可以利用MATLAB的内部函数或用户自定义函数创建矩阵。

如diag()函数可生成对角阵。ones(m,n) ; zeros(m,n)

(4) 通过数据文件创建矩阵:

save 文件名(其中,文件名是*.mat文件)

load 文件名例:工作目录下有temp.mat文件,可以执行load temp

3. 复数矩阵表示

(1) 复数表示

复数的虚根单位用i,j表示,即:z=3+4i或z=3+4j.

例如输入z=3+4i 输入z=3+4j

得到:得到:

z = z =

3.0000 +

4.0000i 3.0000 + 4.0000i

(2) 复数矩阵

A=[1 2;3 4]+i*[5 6;7 8] 或者A=[1+5i 2+6i;3+7i 4+8i],都得到:

A =

1.0000 + 5.0000i

2.0000 + 6.0000i

3.0000 + 7.0000i

4.0000 + 8.0000i

二、MATLAB的变量和表达式

1.变量名命名规则

☺可以是字母、数字或下划线,但第一个字符必须是字母。

☺长度<=31

☺分辨大小写的,M和m是两个变量。

☺无须对变量的类型进行说明,当需要使用一个新变量时,只须直接对其赋值即可。

2.表达式则是由运算符、函数调用、变量名以及特殊字符组成的式子。

3.MATLAB中基本的赋值语句为:

(1) 形式一:变量名=表达式

将表达式的结果赋给变量名(表达式的运算结果都是一个矩阵)。

(2) 形式二:表达式

计算表达式的值,将其值赋给MATLAB的永久变量ans。

上面两种形式,当表达式由分号“;”结束时,变量结果不显示。当表达式由逗号“,”或换行号结束,则将结果显示出来。

注:

1)MATLAB中有几个变量不能被clear清除,称永久变量。(其他变量名最好不要与此同)。即ans:当不指明某一语句的计算结果赋给哪个变量时,系统自动将该计算结果赋给ans;

eps:计算机能产生的绝对值最小的浮点数;

i,j:虚数单位,即-1的平方根;

inf,Inf:正无穷大;

nan,NaN:非数,常产生于0/0等运算;

Pi:圆周率。

2)如果表达式的值太复杂,一行写不下,可以加上三连点“…”回车,然后接下去再写。如:s=1-1/2+1/3-1/4+1/5-1/6+1/7-1/8 +1/9-1/10+1/11-1/12;

3) 在MATLAB函数调用时,MATLAB还允许有这样的形式,如[m,p]=bode(n,d,w);

4.字符串与字符串变量:

MATLAB可将字符串当作数组或矩阵处理。在MATLAB中,字符串用单引号括起来,如:例:S=…Use Matlab‟

输出结果是:S= Use Matlab

字符串存储在行向量中,每个元素对应一个字符,向量的值为字符对应的ASCII码值。

2.2 MATLAB的初等运算

一、矩阵运算符:

✧A‟--- 矩阵A的转置,如果A是复矩阵,则其运算结果是共轭转置;

✧A+B---矩阵的加运算,

✧A-B---矩阵的减运算,

✧A*B---矩阵相乘,A的列数与B的行数相等,即A和B矩阵维数相容,维数不相容是不可乘

的。如:A---n x m,B---m x r,若C=A*B,则:C---n x r。

✧B/A---方程X*A=B的解,即X=B*A-1。称矩阵的右除。

A\B---方程A*X=B的解,即X=A-1*B。称矩阵的左除。

矩阵的除法,其意义相当于矩阵的求逆运算。左除与右除的关系为:b/a=(a‟\b‟)‟。

✧A^B---矩阵的乘方。

1)A为方阵,B为正整数时,表示矩阵A的B次乘积;

2)B为负整数时,表示矩阵A的逆阵的B次乘积;

3)B为非整数时,如B=n/m,则首先应该将A矩阵自乘n次,然后再对结果开m 次方;

4)A、B均为矩阵时无意义。

✧ A.*B---矩阵的点乘运算,表示A和B阵的对应元素直接相乘,A和B要有相同的维数。

点运算在MATLAB中起重要的作用,如X是一个向量,则求取X2时不能直接写成X*X,而必须写成X.*X。

相关文档
最新文档