MATLAB基本语法详细说明.docx

上传人:b****8 文档编号:28227528 上传时间:2023-07-09 格式:DOCX 页数:13 大小:272.58KB
下载 相关 举报
MATLAB基本语法详细说明.docx_第1页
第1页 / 共13页
MATLAB基本语法详细说明.docx_第2页
第2页 / 共13页
MATLAB基本语法详细说明.docx_第3页
第3页 / 共13页
MATLAB基本语法详细说明.docx_第4页
第4页 / 共13页
MATLAB基本语法详细说明.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

MATLAB基本语法详细说明.docx

《MATLAB基本语法详细说明.docx》由会员分享,可在线阅读,更多相关《MATLAB基本语法详细说明.docx(13页珍藏版)》请在冰豆网上搜索。

MATLAB基本语法详细说明.docx

MATLAB基本语法详细说明

Matlab语法

第一节基本数值计算

1.变量:

分为数值变量和字符变量

2.常量:

计算机中不变的量。

如i、j、pi、NaN(不确定)、Inf(无穷大)

3.字符变量:

将字符串作为变量。

有三种方法表示:

(1)用单引号''

(2)用函数sym('')

(3)用命令symbs

4.举例

x=2%将2赋给变量x

y=3;%有;表示在命令窗口不显示y的值

z=x^2-y%数值计算。

输出结果为1

f='sin(x)'%用单引号定义一个字符变量

g=sym('cos(y)')%用函数sym('')定义一个字符变量

symsab%用命令syms定义字符变量。

一般用于多符号变量的定义

u=2*a%字符计算。

输出结果为2*a

w=b^2-1%字符计算。

输出结果为b^2-1

fg=f+g%字符计算。

输出结果为sin(x)+cos(y)

uw=u*w%字符计算。

输出结果为2*a*(b^2-1)

u/w%字符计算。

输出结果为2*a/(b^2-1)

 

第二节矩阵构造及运算

Matlab中数据的结构形式就是一个矩阵。

如x=2是一个1×1的矩阵

1.矩阵的建立

(1)直接输入法。

(2)冒号法(1×N)。

(3)函数法(特殊矩阵)。

(4)矩阵的编辑(ArrayEditor)。

2.向量

向量是1×N的特殊矩阵,即只有一行或者一列,称为N维向量。

3.向量的点积与叉积

点积:

dot(A,B)

叉积:

cross(A,B)

4.举例:

x=[123;456;789]%[...],元素之间用空格,行之间用分号。

y=0:

0.1:

1%不用[...],初值、步长、终值间用冒号。

w=eye(3)%3阶单位矩阵。

u=rand(3)%3阶随机矩阵。

元素在0-1之间。

u1=rand(2,3)%2*3阶随机矩阵。

元素在0-1之间。

q=randn(3)%3阶随机矩阵。

元素在0-1之间。

元素符合正态分布。

q1=randn(2,3)%2*3阶随机矩阵。

元素在0-1之间。

元素符合正态分布。

s=magic(3)%魔方阵。

各行各列以及对角元素的和相等。

ss=zeros(3)%3阶全零阵。

uu=ones(3)%3阶全1阵。

5.矩阵的加、减、乘、除

(1)参与加、减运算的矩阵必须同维

(2)A/B时,A、B列数必须相同。

A\B时,A、B行数必须相同。

(3)矩阵左乘与右乘不同,左除与右除不同。

(A*B不等于B*A,A\B不等于A/B)。

(4)标量或函数与矩阵的运算等于该标量或函数与矩阵的每一个元素的运算。

6.对矩阵的操作

6.1对矩阵的元素操作:

(1)提取矩阵A的第n行第m列的元素,表示为A(n,m)

(2)提取矩阵A的第n行的所有元素,表示为A(n,:

(3)提取矩阵A的第m列的所有元素,表示为A(:

m)

(4)将矩阵A的第n行第m列的元素重新赋值b,表示为A(n,m)=b

(5)将矩阵A的第n行的所有元素重新赋值b,表示为A(n,:

)=b

(6)将矩阵A的第m列的所有元素重新赋值b,表示为A(:

m)=b

(7)将矩阵A的第n行第m列的元素删除,表示为A(n,m)=[]

(8)将矩阵A的第n行的所有元素删除,表示为A(n,:

)=[]

(9)将矩阵A的第m列的所有元素删除,表示为A(:

m)=[]

6.2矩阵的部分操作:

Fliplr(A)%矩阵左右翻转

Flipud(A)%矩阵上下翻转

Flipdim(A,m)%矩阵沿特定维(m)翻转

Rot90(A,k)%矩阵逆时针旋转k*90度

Tiag(A,k)%取矩阵对角线元素

Tril(A,k)%取矩阵的下三角部分

Triu(A,k)%取矩阵的上三角部分

注:

k可以是正、负整数,但绝对值一般不大于矩阵的维数。

6.3矩阵分析操作:

(1)方阵A的行列式值,可表达为det(A)

(2)矩阵A的秩,可表达为rank(A)

(3)行列式值不为堆的方阵A,求逆矩阵可表达为inv(A)

(4)矩阵A的转置阵,可表达为A'

(5)矩阵A的特征向量与特征值:

[V,D]=eig(A)。

其中V和D分别为A的特征向量和特征值

6.4矩阵的数组运算:

矩阵乘:

A*B。

A的列数与B的行数要相等。

矩阵的数组乘:

A.*B。

表示为A、B矩阵的对应元素一一相乘,即Aij*Bij。

A与B的维度要相同。

矩阵的数组除:

A./B或者A.\B

举例:

x=-10:

2:

10

y=sin(x)%correct

y=sin(x^2)%incorrect-Matrixxmustbesquare

y=sin(x.^2)%correct

6.5矩阵元素的关系运算与逻辑运算(与、或、非)

<小于

>大于

<=小于或等于

>=大于或等于

==等于

~=不等于

6.6矩阵的多维数组形式

(1)函数cat的使用

(2)B=cat(dim,a1,a2,...)

(3)意义:

将多个同维数组a1,a2,...构成一个高维数组B。

dim是高维数组B的维数。

它必须等于或大于a1,a2,...的阶次

举例:

a=[123;234;356]

b=a+10%新构成一个矩阵

a(:

:

2)=b%将新矩阵赋给a的第二层

a(:

:

1)%显示a的第一层

c=cat(3,a,b)%用函数来构成高维数组

6.7多项式及其运算式

多项式的创建:

(1)由1×N的N维向量

P=[a0a1a2…an]表示Pn=a0xn+a1xn-1+a2xn-2+..+an多项式。

(2)由函数poly(A)定义

如果A为二维或以上的矩阵,poly(A)表示由A的特征根确定的多项式。

如果A为一维矩阵

poly(A)表示由A的元素为多项式的根确定的多项式。

举例:

%方法一

p=[1-23]%直接给出多项式p

poly2sym(p)%给出p多项式的表达式

%方法二

a=[12;-24]

ps=poly(a)%计算a的特征根确定的多项式

poly2sym(ps)%给出ps多项式的表达式

%方法三

x=[-12]

px=poly(x)%以x的元素为多项式的根确定的多项式

poly2sym(px)%给出ps多项式的表达式

 

1.变量赋值

标量:

a=10

向量:

a=[1,3,5,6];a=1:

2:

9;a=[1762]

矩阵:

a=[123;456;789]

2.程序控制语句

(1)判断语句

if 表达式1                     a=4;b=6;

  命令                  ifa>b

 elseif 表达式2            'a大于b'

  命令                    elseifa

                        'a小于b' 

else命令                  elseif a==b

end                         ‘a等于b’

                           else

                              error('不可能的事情发生了')

                           end

(2)分支语句switch和case

 switch(a)

     case0

      case1

     case2

     ....

     otherwise

 end

a=5;

b=mod(5,3);

switch(b)

  case0

     模3为0

   case 1

      模3为1

  case2

     模3为2

  otherwise

     不可能

end

(3)循环语句

forn=3:

32

   r(n)=n;

end

 

while条件

   命令或函数

end

当条件不满足时,循环语句执行中间的命令或函数。

当条件满足时,跳出循环执行下面的命令。

n=1;

whilen<30

r(n)=n;

n=n+1;

end

 

(4)跳出循环语句

有时可能需要在循环体中的某个点跳出,这里通过continue和break实现

continue语句循环后,直接从该点跳到循环体的开始;

break语句执行后,直接从该点跳出循环体.

n=0;

whilen<30

n=n+1;

ifn==15

 continue;

end

r(n)=n;

end

n

 

n=30

 

n=0;

whilen<30

n=n+1;

ifn==15

 break;

end

r(n)=n;

end

n

 

n=15

 

1.循环语句for

for  i=s1:

s3:

s2

    循环语句组

end

解释:

首先给i赋值s1;然后,判断i是否介于s1与s2之间;如果是,则执行循环语句组,i=i+s3(否则,退出循环.);执行完毕后,继续下一次循环。

例:

求1到100的和,可以编程如下:

   sum=0

   for i=1:

1:

100

     sum=sum+i

   end

   这个程序也可以用while语句编程。

   

   注:

for循环可以通过break语句结束整个for循环.

2.循环语句while

  例:

sum=0;i=1;

      while(i<=100)

       sum=sum+i;i=i+1;

      end

      

3.if语句

  if(条件)

    语句

  end

  

  if(条件)

    语句

  else

    语句

  end

  if(条件)

    语句

  elseif

    语句

  end

  

  

4.关系表达式:

 =,>,<,>=,<=,==(精确等于)

5.逻辑表达式:

|(或),&(且)

6.[n,m]=size(A)(A为矩阵)

这样可以得到矩阵A的行和列数

n=length(A),可以得到向量A的分量个数;如果是矩阵,则得到矩阵A的行与列数这两个数字中的最大值。

7.!

后面接Dos命令可以调用运行一个dos程序。

8.常见函数:

poly():

为求矩阵的特征多项式的函数,得到的为特征多项式的各个系数。

如a=[1,0,0;0,2,0;0,0,3],则poly(a)=1    -6    11    -6。

相当于poly(a)=1入^3+(-6)入^2+11入+(-6)。

compan():

可以求矩阵的伴随矩阵.

sin()等三角函数。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 商业计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1