Matlab基本语法教案

发布 2021-05-11 09:44:28 阅读 9423

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

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

1) 矩阵元素必须写在“内;

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

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

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

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

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

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

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

则显示:a=

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

如上例:a=[1 2 3

则显示:a= 1 2 3

2) 由m文件创建矩阵:

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

3) 由函数创建矩阵:

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

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

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

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

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

3. 复数矩阵表示。

1) 复数表示

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

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

得到得到:zz =

3.0000 + 4.0000i3.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

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码值。

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。

a.\b,a./b---矩阵的点除运算,表示a和b阵的对应元素直接相除,a和b要有相同的维数。

a.^b---矩阵的点乘方,表示要对其元素逐一进行幂运算。与点乘相似。

matlab中提供了6种关系运算符,用于比较两个同维数的矩阵:

< 小于。

<= 小于或等于

> 大于

>= 大于或等于

== 等于

~= 不等于

关系运算符可以用于检查矩阵的元素是否满足某些条件。两个同维数的矩阵比较的结果是与它们同维数的矩阵,1表示结果为真,0表示结果为假。

在matlab中,逻辑运算符有3种。

& 逻辑与。当运算双方对应元素都为非零时;结果为1,否则,结果为0。

| 逻辑或。 当运算双方对应元素有一个为非零时;结果为1,否则,结果为0。

~ 逻辑非。当元素的值为0时,结果为1,否则,结果为0。

例:a=[1 0 3;0 –1 6],b=[-1 0 0;0 5 0.3],计算两矩阵对应元素的逻辑关系。

在matlab中,有一些特殊的符号,具有特殊的意义。

1)在matlab的m文件中,可以加入解释行,解释行的标识符为:“%该符号后面的内容将作为注释内容。

2)行分隔符:“;用在matlab语句后,用它时执行结果不显示,可避免显示一些不感兴趣的结果。

3)冒号运算符“:”最主要的作用是生成向量。如:

j:k --生成向量 [j,j+1,j+2,…,k]

j:i:k --生成向量 [j,j+i,j+2i,j+3i,…,k] (j为起始值,i为步距,k为终止值,在**中经常用于生成时间向量)

a(:,j) -矩阵a的第j列

a(i,:)矩阵a的第i行

a(j:k) -生成向量a (a为向量时,为a的第j到第k个元素,当a为矩阵时,为a的按列数的第j到第k个元素) 例:a

> a(2:4)

ans =

a(:,j:k) -矩阵a的从第j列到第k列的矩阵子块

a(:,j,k]) 矩阵a的第j列和第k列

例:a = 1 2 3

> a(:,1:2)

ans =

> a(:,1,3])

ans =

4)matlab中允许对一个矩阵的单个元素进行赋值,如:

a = 1 2 3

当执行a(2,3)=100,则显示:

a = 1 2 3

注意:矩阵中元素按列存储,上例中对矩阵元素操作也可这样调用 a(8)=8

对于一个矩阵中0元素很多,而非0元素很少的情况,可以先形成0矩阵,然后将非0元素输入。

如果给出的行数和列数大于原矩阵范围,则将自动扩展原来的矩阵,并将扩展后未赋值的矩阵元素置为0。如:

a(4,5)=8a =

matlab提供了一些输入和输出语句,允许用户和计算机之间进行数据交换。

1.input输入函数:

在编程时,如果想随时改变输入参数值,可采用input( )函数来进行输入,它的调用格式为:

a=input(提示信息,选项);

提示信息可以是字符串显示,用它来提示输入的是什么样的数据,如:

> a=input('enter matrix a =>

enter matrix a =>1 2 3;4 5 6;7 8 9] a =

如果在input( )函数调用时采用了‘s’选项,则允许用户输入字符串。如:>>a=input('enter matrix a =>s')

enter matrix a =>matlab

a = matlab

2.disp输出函数:

matlab提供的输出函数主要有disp( )函数,它的调用格式为: disp(a)

其中a既可以为字符串,也可以为矩阵。

MATLAB基本语法

转 matlab基本语法 保留的常数 eps 机器的浮点运算误差限。pc机上eps的默认值为2.2204 10 16,若某个量的绝对值小于eps,则可以认为这个量为0。i和j 若i或j量不被改写,则它们表示纯虚数量j。但在matlab程序编写过程中经常事先改写这两个变量的值,如在循环过程中常用这两个...

MATLAB基本语法

bilcos90 2005 01 16 22 22 保留的常数 eps 机器的浮点运算误差限。pc机上eps的默认值为2.2204 10 16,若某个量的绝对值小于eps,则可以认为这个量为0。i和j 若i或j量不被改写,则它们表示纯虚数量j。但在matlab程序编写过程中经常事先改写这两个变量的值...

Matlab基本语法

实验序号 1 matlab基本语法。一 实验目的。通过本实验,使学生初步了解matlab的基本语法规则,学习并进一步掌握matlab矩阵运算和数组运算的基本规则,以及基本绘图方法。二 实验器材。pc电脑一台 matlab软件。三 实验内容与基本要求。a 通过matlab语言,给矩阵赋值 显示一行数组...