matlab
- 格式:doc
- 大小:188.63 KB
- 文档页数:31
重点
MATLAB的界面和基本使用方法
MATLAB中的基本运算和矩阵运算
MATLAB编程中的流程控制结构
M文件的编写方法
MATLAB中二维图形的绘制方法
MATLAB窗口
命令窗口(Command Window)
三个蓝色的入门链接
“>>”为命令提示符,此时我们可以在>>之后输入一些基本命令,例如数值运算命令,然后按下Enter键,MA TLAB则会在命令窗口立即显示结果,并将结果自动赋予变量名ans MA TLAB允许一行输入多个命令,此时可以用逗号“,”和分号“;”来实现,区别在于使用逗号时将会显示运行结果,使用分号时运行结果将予以隐藏
>> 3.14*3^2 %采用直接演算法,类似于计算器
ans =
28.2600
>> r=3 %采用变量赋值的方法,圆的半径r=3
r =
3
>> S=3.14*r^2 %求圆的面积S
S =
28.2600
>> r=3; S=3.14*r^2 %使用分号禁止显示计算的中间结果
S =
28.2600
MATLAB中的数据类型
数值型数据
通常以双精度数值来表示,不区分整数、实数、复数等
虚数单位i=sqrt(-1),复数z=a+b*i或z=r*exp(i*θ) ,且注意
当复数的虚部为一个确定的数(而不是变量或者矩阵)时,可以省略系数和虚数单位之间的“*”,即3+i*6可以写成3+6i,但是x+i*y不能写成x+yi;
当复数作为矩阵元素时,复数内不能留有空格,否则可能会被当作两个元素处理而出错。例如k1为一向量,但是k2则是一个矩阵。
>> k1=[3+4i; 5+6i]
k1 =
3.0000 +
4.0000i
5.0000 +
6.0000i
>> k2=[3 +4i;5 +6i] %复数作为矩阵元素时,复数内不能留有空格
k2 =
3.0000 0 +
4.0000i
5.0000 0 +
6.0000i
符号型数据
符号型数据则是在MA TLAB中定义的特殊变量,它以字符串的形式表示,但又不同于普通字符串。其变量、表达式均为符号对象。符号对象使用sym或者syms生成,语法格式为>> syms arg1 arg2 …. arg_props
符号对象命令举例
>> syms x y; %利用syms生成符号对象
>> z=sym(…z‟);%利用sym生成符号对象
>> syms p real; %声明符号对象p为实的
>> m=sym('m','real'); %声明符号对象m为实的
>> n=sym('n','positive'); %声明符号对象n为正的
>> m=sym('m','unreal'); %去掉m的附加属性
>> A=[1 x; y z] %生成符号矩阵
>> f=sin(x)+cos(x); %建立符号表达式
字符串型数据
MA TLAB作为一种高级语言,字符串运算功能也是很丰富的,字符串就是字符数组,在字符串里的每个字符是数组里的一个元素,字符串中空格也是字符,由于字符串是以向量的形式来存储的,因而可以通过它的下标对字符串中的任何一个元素进行访问
在MA TLAB增加了符号运算工具箱,字符串成为符号运算表达式的基本构成单位
举例
>> s1='MA TLAB STRING'; %生成字符串s1
>> dim=size(s1) %显示s1的维数,1×13阶矩阵
dim =
13
>> s2=['MA TLAB STRING']; %生成字符数组s2,与s1等价
>> s1(2); %通过下标访问字符串,ans=A
多维数组
数组也可以嵌套,一个数组的元素可以是另外一个数组,这样就构成了多维数组,例如三维数组就是一般矩阵的拓展,可以直接用于彩色图像的描述,在实际编程中可能用到更高维的数组。如图所示即为一个三维数组的示意图,数组的第一维称为“行”,第二维称为“列”,第三维称为“页”,运算则与低维的类似。
>> A=[1 2; 1 3];
>> B(:,:,1)=A; %输入矩阵B的第一页
>> B(:,:,2)=A^2; %输入矩阵B的第二页
>> B(:,:,3)=A^2; %输入矩阵B的第三页
>> C=ones(2,2,3); %矩阵C为为2×2×3维全1矩阵
>> D=C./B %三维矩阵间的./运算
D(:,:,1) =
1.0000 0.5000
1.0000 0.3333
D(:,:,2) =
0.3333 0.1250
0.2500 0.0909
D(:,:,3) =
0.3333 0.1250
0.2500 0.0909
元胞数组
存储形式类似于矩阵,元胞数组的各元素不一定是数值,可以是MA TLAB支持的任意存储类型,并且各元素的类型也可以不尽相同。其元素就被称为“元胞”(cell)。
元胞数组也用下标标识,但元胞数组中有元胞元素和元胞元素的内容两个概念,用圆括号表示元胞元素,用大括号来包含元胞元素的内容,cell_array {i,j}即表示元胞数组cell_array的第i行,第j列的存储内容,亦即元胞元素cell_array (i,j)的内容。
>> A=[2 5;4 2]; %矩阵的定义使用[]
>> B={A, [6 9];'test',[1 6;7 4]} %元胞数组的定义使用{}
B = %仅显示存储量类型
[2x2 double] [1x2 double]
'test' [2x2 double]
>> C(1,1)={[1 3;5 7]}; %C(1,1)代表元胞元素,其内容是一矩阵
>> C{1,2}=[2 4;6 8]; %C{1,2}代表C(1,2)的内容,为一矩阵
>> celldisp(C) %显示元胞数组C的具体内容
结构型数组
结构型数组与元胞数组类似,不同之处在于结构型数组利用指针方式传递数据。在结构数组的直接赋值定义过程中,需要指出结构中的属性名,并且以指针操作符“.”来连接结构型数组与属性名,在命令行提示符后输入结构型数组的名称,则可显示其属性以及属性值
>> student_='lin hong';
>> student_1.stature=182;
>> student_1.weight=79;
>> student_1
student_1 =
name: 'lin hong'
stature: 182
weight: 79
MATLAB中的变量
变量
命名规则
变量名由一个字母导引,后面可以跟字母、数字、下划线等,但不能用空格或者标点符号。例如var_temp、control_input1、state21均是合法变量名,而_output、45time、@position等