1. MATLAB界面
1.1 MATLAB工具栏
1.环境部分要注意预设和设置路径两个按钮,预设就相当于是设置,可以调节界面,字体,显示语言等;设置路径是在添加第三方工具包的时候需要用到,可以理解为添加插件
2.运行节:用光标选中某个节即可运行某一节代码。设置分节符 %%(后面记得加个空格)
3.设置断点:Matlab设置和VSC一样非常方便,只需要在代码左边点击一下出现红点即可
4.清除断点:点击断点下的那个三角形,就可以选择清除所有断点。
*Matlab中的注释
%% 独占一行的注释(有上下横线分割)
% 普通注释
MATLAB使用教程与知识点总结(持续更新中)
1.2 编辑器窗口
编辑器窗口是用来创建.m脚本文件的,和命令行窗口的区别就像是VS Code的文本编辑和终端输入。调出的方法就是在菜单栏中点击新建即会自动弹出一个编辑器窗口:
a.文件名命名要用英文字符,首字符不能是数字或下划线;
b.文件名不能与matlab的内部函数名相同。
c.文件存储路径最好为英文路径。
d.文件名中不能有空格。若需要用两个或以上单词组合作为文件名:直接连接组合 / 把每个单词首字母大写以作区分 / 使用下划线。如 good bye,应该写成GoodBye或者Good_Bye。
1.3 常见MATLAB工具箱
常见的MATLAB工具箱有以下七种:
1) Communications Toolbox(通信工具箱);
2) Control Systems Toolbox(控制系统工具箱);
3) Data Acquisition Toolbox(数据获取工具箱);
4) Database Toolbox (数据库工具箱);
5) Filter Design Toolbox(滤波器设计工具箱);
6) Fuzzy Logic Toolbox(模糊逻辑工具箱);
7) Image Processing Toolbox(图像处理工具箱)
2.变量
2.1 清空环境变量及命令
clear all % 清除Workspace中的所有变量(右侧工作区)
clc %清除Command Window中的所有命令(命令行窗口)
例(1)计算a*6,a=8
clear all %清空
clc % 情况工作区
a=8;
b=a*6;
b
2.2 变量命名规则
①变量名区分大小写
②变量名长度不超过63位
③变量名应该有一个字母引导,后面可以跟字母、数字、下划线等,如,sum1,sum_1。
2.3 预定变量(常量) 如 pi(π)等
ans | 如果没指定输出到一个变量,系统自动创建 ans ,存储输出结果 |
eps | 机器的浮点运算误差限,即相对精度 |
pi | π, 3.1415926535897.... ,返回圆周率的近似值 |
i, j | 基础的虚数单元 |
inf | 返回 IEEE 算法的正无穷大量,如 n/0 即产生 inf( 其中 n 为实数) ) |
NaN | Not- a a-- Number ,返回 IEEE 算法的非数值,如 0/0 或 inf/inf ,关于 NaN 的算术运算等 |
computer | 识别 MATLAB 运行的计算机类型 |
version | MATLAB 版本 |
intmax | 所用机器能表示的最大整数 |
intmin | 所用机器能表示的最小整数 |
realmax | 所用机器能表示的最大正浮点数 |
realmin | 所用机器能表示的最小正浮点数 |
详见文章:
MATLAB使用教程与知识点总结(持续更新中)
3.数据类型(结构)
3.1 数值型
3.2 字符与字符串
用单引号括起来
注(辨别):符号性变量
符号型,sym(A),常用于公式推导
变量声明
symsA B C
syms A B positive
vpa:给出变量的有限位数
[例] 求出自然对数底的前300位有效数字
>> vpa (exp (sym(1)), 300)
>> vpa(pi, 300)
3.3 矩阵
(1)矩阵变量
MATLAB以矩阵作为变量的基本形式,在进行编程、仿真计算工作时需要将矩阵直接输入MATLAB中,其中最方便的是将矩阵直接输入,也可以由原有的矩阵生成新的矩阵。
在输入的过程中,需要遵循以下规则:
①中括号[ ]把所有矩阵元素都括起来。
②同一行的不同元素之间数据元素用空格或逗号间隔。
③用分号(;)指定一行结束。
④也可分成几行输入,用回车代替分号。
⑤数据元素可以使用表达式,系统将自动计算。
(2)矩阵元素
采用下标来表示矩阵元素,其基本形式如A(i,j),i和j表示元素在矩阵中的行和列的位置,可以直接调取元素对其修改,矩阵中的元素也可进行数值计算。
(3)多维数组
多维数组迎合了许多多维的科学计算。在MATLAB中数据的逻辑性是可以表现出多维,但在物理内存中的形式确实简单按列存放的。可以将二维以后的数据按照页的概念理解,每页都看成一个二维数组,其生成和元素的访问都和二维矩阵类似。
1)初始化矩阵
y=logspace(a,b,n) 常量对数分隔生成法
2)子矩阵提取 (详见【MATLAB】专栏另一篇文章子矩阵行列式提取)
基本语句格式: B = A(01,02)
[例]子矩阵提取:
■提取A矩阵全部奇数行,所有列
>>B1=A(1:2:end, :)
提取A 矩阵3,2,1行、2,3,4列构成子矩阵
>>B2=A([3, 2, 1],[2, 3, 4])
■将A矩阵左右翻转,即最后一列排在最前面
>>B3=A(:, end:-1:1)
标识和提取练习
1.vector
向量,即一维数组或序列,可以是行向量或列向量,用 [] 或 , 或 ; 分隔。用于存储和操作一系列相关的数值。矢量可以通过手动创建或使用内置函数生成。
>>x=[3 6 7 9 10];
x(3) x(2:4) x(4:end) x(3:-1:1) x([4 2 5]) x(1)=1;
2.array or matrix
>>A=[1,2,3;4,5,6;7,8,9;] A(2,3) A(3,:) ( A(:))’ A(6)
array:数组,可以建立任意尺寸和维数,数组的建立、存储与矩阵完全相同, 乘法用.* ,除法区分./和.\ , 幂运算、开方运算是对数组中的每个元素分别进行运算。
matrices(matrix):矩阵,二维数组,乘法运算用 * ,除法运算区分右除/和左除\,幂运算、开方运算无需对矩阵中的每个元素分别进行运算。
3.4 数组
1)元胞数组(单元数组cell array):
%元胞数组
A = cell(1,6)
A{2} = eye(3) %2021版本前的matlab下标从1开始
A{5} = magic(5)
B = A{5}
是MATLAB中特有的一种数据类型,是数组的一种,其内部元素可以是属于不同的布局类型,概念理解上,可以认为它和C语言里面的结构体、C++里面的对象很类似。元胞数组是MATLAB中的特色数据类型,它不同于其它数据类型。
单元数组的概念
- 基本组成是单元(cell),用来存放不同类型的数据,如矩阵、多维数组、字符串、单元数组及结构数组等。
- 单元数组可以是一维的,也可以是多维的。
- 这一数据类型在仿真系统模型中经常见到,另外在函数的编写中一般也会用到,如由不同类型输入参数组成的 varargin 即是单元数组类型。
单元数组的创建
- 直接使用{ }创建;
- 在原有的单元数组基础上不断地扩展,类似于矩阵的扩展操作;
- 直接给单元数组的每个单元赋值;
>> A2 ={ 'xxx',[1 2 3;4 5 6];[1 1 ; 2 2],' MAILAB' }
结果:
A2 =
'xxx' [2x3 double]
[2x2 double] 'MAILAB'
- 合并不同的单元数组。
>> A1
Al =
[] [10] '元胞数组'
[] [] []
[] [] []
>> A2
A2=
'xxx' [2x3 doub1e]
[2x2 double] 'MATLAB'
>>phy= [A1. A2)
phy =
[3x3 ce11] [2x2 cell]
单元数组的操作
- 单元数组的内容获取命令celldisp(C)
- 图形化的显示方式cellplot(c)
- 也可直接读取具体的单元内容,或类似读取矩阵元素值的方式读出部分单元内容。
2)结构数组(structure array)
结构数组的概念
- 结构数组的基本组成单位是结构,每一个结构包含多个域(fields),域中可
- 以存放任何类型,任何大小的数组。
结构数组的创建
- 结构数组可以直接创建
- 可利用 Struct 函数创建。(注:函数帮助文档导读)
例 :创建一个含有不同学生信息(姓名,性别,班级,成绩)的结构数组。
函数法创建
格式:变量名=struct(‘field1’,val1,’field2’,val2,…)
>> zidonghua=struct(’class’,{‘计科1’,‘数据2’},’num’,[34,32],’data’,{[91,92,93…],[95,92,93…]};
>>zidonghua
结构数组的操作
由于结构数组很像数据库中的一个数据表,因此对其操作可以借助数据库的概念,总结为增、删、改、查4种操作。
- 增,即增加一条记录,如上例在创建学生信息的结构数组中,就是通过增加的方式添加学生信息;也可以是增加一个字段。
- 删,即删除结构数组中的字段。MATLAB提供的 s = rmfield(s, ‘fieldname’)执行删除结构字段的操作。
- 改,即改变结构数组中字段的内容。函数s = setfield (s,{i,j}, ‘field’, {k}, v) 执行修改字段内容的操作,相当于S(i,j).field(k) = V。
3.5 矩阵与数组的输入
直接赋值输入矩阵或数组 这种方式是最基本且最直接的输入方式。 例1 以直接赋值方式输入矩阵或数组。 >> A = [1 2 3;4 5 6;7 8 9]
快捷方式输入矩阵或数组 增量式输入 通过把小矩阵扩展成为大矩阵而输入。 例2 以快捷方式输入矩阵或数组。
通过提示语句输入矩阵或数组 ① x = input('prompt’) ② x= input('prompt','s') 在屏幕上显示一个提示符,等待用户从键盘输入, 并读取用户输入到工作空中。 第一种方式供输入数字,而后一种方式供输入字符串。
例3 通过提示语句输入矩阵或数组。
3.6 MATLAB支持的其他数据结构 (15种)
- 基本数值变量类型:双精度、单精度
- 逻辑性、时间、日期
- 字符串型数据:用单引号括起来
- 多维数组:是矩阵的直接扩展,多个下标
- 单元数组:将不同类型数据集成到一个变量名下面,用{}表示
- 类与对象:可以定义类变量。结构体表达, 定义和引用为 A.b, b为一个域
4. 常用函数
4.1 输入函数
1)数组与矩阵的输入
- MATLAB 中有不同的方法生成矩阵。
- 概括起来,可以直接赋值输入,以快捷方式输入,通过提示语句交互输入、通过内建函数产生、加载外部数据文件等
- 通过提示语句输入矩阵或数组
x = input('prompt'),或 x= input('prompt','s')
在屏幕上显示一个提示符,等待用户从键盘输入,并读取用户输入到工作空间中。
第一种方式供输入数字,而后一种方式供输入字符串。
2)向量的输入
y = linspace(a,b) y =linspace(a,b,n) |
产生线性分布的向量,位于 a ~ b 之间共 100 个点值 产生线性分布的向量,位于 a ~ b 之间共 n 个点值 |
y = logspace(a,b) y=logspace(a,b,n) |
产生对数分布的向量,位于 10^a ~10^b 间共 50 个点值 产生对数分布的向量,位于 10^a ~10^b 之间共 n 个点值 |
4.2 绘图
1)二维图形的绘制
绘制二维图形的基本函数
- 绘制二维曲线的最基本函数 plot,它的基本调用格式为:plot(x,y)
- 其中 x 和 y 为长度相同的向量,分别用于存储 x 坐标和 y 坐标数据。
- 图形参数设置
坐标背景网络可用 grid 命令设置
其基本用法
- grid on %显示网格线
- grid off %去除网格线
- grid %切换有无网格的状态
坐标框手工设置
- 坐标框的设置,其基本用法:
- box on %添加坐标边界
- box off %去除坐标边界
- box %切换有无坐标边界的状态
- 坐标框的设置与 grid 类似,可依照上例练习。
图形标注的添加
图形的标注,可以分为图名标注、坐标轴标注、图例标注和文字注释。
- 图名标注:title('string')
- 坐标轴标注:xlabel('string'),ylabel('string')为横纵坐标添加标注。
- 图例标注:legend('string1','string2',...)命令的不同形式为图形添加图例。
- 文字注释:text(x,y,‘string’)在图形坐标(x,y)处书写注释。使用 figure 指定不同图形窗口 (hold on 的用法)
- 系统默认使用“Figure No.1”窗口绘制图形。当第二次继续绘图时,仍在默认窗口绘制的话,即将以前的图形覆盖掉了。为此,可以使用 figure(h)来指定打开相应窗口。
注:使用 figure 指定不同图形窗口绘制多图。
多图绘制
1)采用hold on(/off)指令,将新产生的图形曲线叠加到已有的图形上。
2)采用subplot(n,m,k)函数,将函数窗口进行分割,然后在同一个视图窗口中画出多个小图形。
3)figure(n)打开多个窗口。
subplot函数 基本用法如下:
- subplot(m,n,p) %将图形窗口 分为mXn幅子图,,第p幅为当前图
- subplot(mnp) %意义同上, 省略“,”
hold基本用法如下:
- hold on %保持当前坐标系和图形
- hold off %不保持当前坐标系和图形
- hold %切换以_上两种状态
MATLAB使用教程与知识点总结(持续更新中)
例:画出连续时间信号的波形(将其放在一个图形窗口中)
(1)x(t)=u(t)
(2)
(3) x(t)=cos(t)+sin(2πt)
%%注意:subplot要在plot之前,不然绘图容易出错
%M (1)
t=-1.5:0.01:2.5; %定义域范围是[-1.5,2.5]
y1=heaviside(t);
subplot(3,1,1);%三行一列第一幅图
plot(t,y1);
grid on %保留网格
axis([-1.5 2.5 -0.5 1.5]) %限制x轴范围是[-1.5,2.5],y轴范围是[-0.5,1.5]
xlabel('t'); %x轴贴上标签't'
ylabel('y'); %y轴贴上标签'y'
title('u(t)');
%M (2)
t=-2:0.01:5; %定义域范围是[-2, 5]
y2=10*exp(-t)-5*exp(-2*t);
subplot(3,1,2); %三行一列第二幅图
plot(t,y2);
axis auto %自动设置坐标轴,使图像显示效果最佳(这是默认状态)
grid on %保留网格
xlabel('t'); %x轴贴上标签't'
ylabel('y'); %y轴贴上标签'y'
title('x(t)=10e^(^-^t^)-5e^(^-^2^t^)');
%M (3)
t=-7:0.1:7; %定义域范围是[-7,7]
y3=cos(t)+sin(2*pi*t);
subplot(3,1,3); %三行一列第三幅图
plot(t,y3);
axis auto
grid on %保留网格
xlabel('t'); %x轴贴上标签't'
ylabel('y'); %y轴贴上标签'y'
title ('cos(t)+sin(2πt)');
效果如图:
MATLAB使用教程与知识点总结(持续更新中)关于subplot函数用法详见转载
绘图教程详见转载文章:
MATLAB使用教程与知识点总结(持续更新中)
4.3 空间管理命令
1)who、whos命令
这两个命令是为了查看当前工作空间中存在哪些变量,who只显示变量的名称,而whos不仅可显示名称,还可进一步得到变量的详细信息。
2)save、load命令
当退出MATLAB时,在MATLAB工作空间中的变量会丢失。对工作空间中的变量进行保存可以调用save函数:
save 文件名 变量列表 其它选项
load命令可以将上述文件中的变量调入MATLAB并重新载入到工作空间,是与save命令相反的过程:
load 文件名 变量列表 其它选项
3)clc、clear命令
clear:可以使用clear命令来删除特定的变量名,这样可以使得整个工作空间更简洁,同时节省一部分内存。
clc:该命令为清屏命令,在编制某个程序或仿真计算时,为了保证当前显示界面的整洁,可以先清除屏幕。这种清屏只是清除命令窗口,并不是清除工作空间中的变量。
4)Ctrl+C 终止程序命令
5)format命令
是数据格式命令,可以用来设置数据在命令窗口的显示格式,数据长短、小数位数、十进制和十六进制等,而这种设置并不能改变数据的存储格式。vpa,sym (数据格式命令)
4.4 符号变量函数
1)创建符号型变量函数——sym和syms
syms需要在具体创建一个符号表达式之前,将表达式所包含的全部符号变量创建完毕。
sym函数的用处之一是创建单个的符号变量。这种创建方式不需要在前面有任何说明,使用非常快捷。正因如此,此创建过程中,包含在表达式内的符号变量并未得到说明,也就不存在于工作空间。
2)符号代数方程求解
solve函数对代数方程求解
dsolve函数对符号常微分方程求解。 使用说明:对于一个表达式中的多个参数,函数选取自由变量有以下几个原则: 按照函数中的参数选取指定自由变量; 如未指定,对表达式中的多个变量,首先选择x为自由变量。如果没有x,则选择字母顺序中最接近x的字符变量;如与x距离相同,选x后面的字符变量; 小写字母优先于所有大写字母; 小写字母i,j不能作为自由变量。
例1:求解方程
>>symsabcx
>> equ=a*x^ 2+b*x+c==0
equ =
a*x^2 + b*x +c== 0
>> t= solve (equ)
t=
-(b + (b^2 - 4*a*c)^(1/2))/ (2*a)
-(b - (b^2 - 4*a*c)^(1/2) )/ (2*a)
>> t1=so1ve (equ, a)
t1 =
-(c + b*x)/x^2
例2: 求解方程组
>>[x, y]=solve(' 2*x^2+3*x+y=0' ,'y^2-25*x=0' )
x=
0
1
- 2 + (3*i)/2
- 2 - (3*i)/2
y=
0
-5
5/2 + (15*i)/2
2)符号微积分运算
>> syms x
>> y=x^3+sin(x)
>> Dy=diff (y)
Dy =
cos(x) + 3*x^ 2
>>diff(x^2)
ans =
2*x
3)Laplace变换及反变换
在符号工具箱中采用函数L=laplace(F)和F=ilaplace(L)进行变换与反变换。
在符号工具箱中采用函数F = ztrans(f)和f = iztrans(F)进行变换与反变换。
4.5传递函数相关函数
例1:已知传递函数模型,将其输入到MATLAB工作空间中
>>num=10*[2 1];
>>den=conv([1 0 0],[1 7 13]);
>>G=tf (num, den)
例2:
先定义算子:s=tf('s')
>>s=tf('s')
G=3*(s^2+3)/(s+2)^3/(s^2+2*s+1)/(s^2+5)
4.6 零极点函数的相关函数
sys = zpk(z,p,k) | 得到连续系统的零极点增益模型 |
sys = zpk(z,p, k,Ts) | 得到连续系统的零极点增益模型, 采样时间为Ts |
s = zpk('s') | 得到Laplace算子, 按原格式输入系 统,得到系统zpk模型 |
z = zpk('z',Ts) | 得到Z变换算子和采样时间Is,按原 格式输入系统,得到系统zpk模型 |
[Z,P,K] = zpkdata (sys, 'v') | 得到系统的零极点和增益,参数v' 表示以向量形式表示 |
[p,z] = pzmap (sys) | 返回系统零极点 |
pzmap(sys) | 得到系统零极点分布图 |
注:系统不包含零点或极点,则z=[] 或p=[]
零极点模型示例:
方法一:
>>P=[-1;-2;-3;-4] ;
z=[-5; -2+2i; -2-2i];
G=zpk(Z,P, 6)
方法二:
>>s=zpk('S');
G=6*(S+5)*(S+2+2i)(s+2-2i)/((s+1)*(s+2)* (s+3)*(s+4))
4.7 状态空间函数的相关函数
sys = ss(A,B,C,D) | 由A,B,C,D矩阵直接得到 连续系统状态空间模型 |
sys =ss(A,B,C,D, Ts) | 由A,B,C,D矩阵和采样时间 Ts直接寻到离散系统状态空间模型 |
[A,B,C,D] =ssdata (sys) | 得到连续系统参数 |
[A,B,C,D,Ts] =ssdata (sys) | 得到离散系统参数 |
>> A=[0 1;-3 -4];B=[0;1];
>> C=[5 2];D=[1];
>> G=ss (A,B,U,D);
>> [AA, BB, CC, DD] =ssdata(G)
4.8 在线帮助命令
(1)help命令
该命令可以帮助我们了解命令或函数的信息,如果仅仅输入该命令,而没 有其他命令元素则可以得到当前MATLAB软件的目录列表。
(2)lookfor命令
该命令可以查找所有的MATLAB提供的标题或M文件的帮助部分,返回结果为 包含所指定的关键词项,其搜索的区域包含M文件的说明部分,搜索时间有 些长。
(3)doc 帮助文档;edit 函数文件
(4)帮助(Help)窗口 用来显示和查找有关帮助信息和例程。
5.运算
5.1 算数运算符
运算符 | 意义 | 运算符 | 意义 |
+ | 矩阵/数组相加 | ' | 矩阵转置,对复数矩阵,A'是共轭转置 |
- | 矩阵/数组相减 | .' | 矩阵转置,对复数矩阵,A'不是共轭转置 |
* | 矩阵乘 | .* | 数组乘 |
^ | 矩阵幂 | .^ | 数组幂 |
\ | 矩阵左除 | .\ | 数组左除 |
/ | 矩阵右除 | ./ | 数组右除 |
5.2 关系运算符——比较两个运算元之间关系
运算符 | 意义 | 运算符 | 意义 |
< | 小于 | <= | 小于等于 |
> | 大于 | >= | 大于等于 |
== | 相等 | ~= | 不相等 |
5.3 逻辑运算符——处理两个运算元之间逻辑关系
& | 与 |
| | 或 |
~ | 非 |
一些相关逻辑函数如:
xor()异或
all()判断矩阵或向量中元素是否全为真
any()检验是否存在非零元素,全零则回零
MATLAB使用教程与知识点总结(持续更新中)
5.4 矩阵的基本运算
功能 | 运算函数 | 备注 |
矩阵转置 | ’ | 如果矩阵A是复数矩阵,则A’为其负数共轭转置矩阵,非共轭转置矩阵使用conj(A)实现。 |
求逆矩阵 | inv | 矩阵A可逆,则矩阵A的逆矩阵是唯一的。 |
求特征值 | eig | 设A为n阶矩阵,λ是一个数,如果方正Ax=λx存在非零解向量,则称λ为A的一个特征值,相应的非零向量x称为特征值λ对应的特征向量。 |
求特征多项式 | poly | |
求方阵的行列式 | det | |
求解线性方程组 | AX=B(XA=B) | 若方程组有解,则X=A\B(X=B/A),可以利用矩阵运算求出方程式的解。 |
6. MATLAB语言的程序设计
- MATLAB 程序以 m 为扩展名的文件(M-file)保存。(4)求特征多项式 运算函数:poly (5)求方阵的行列式 运算函数:det (6)求解线性方程组 线性方程组的一般矩阵形式表示如下:AX=B(XA=B) 若方程组有解,则X=A\B(X=B/A),可以利用矩阵运算求出方程式的解。
- 这样的 m 文件有 2 种:脚本文件(Scripts)和函数文件(Functions)。其中函数文件是 MATLAB 程序设计的主流。
脚本文件
1. 没有输入和输出参数,只是命令叠加。
2. 执行简单,用户只要在 MATLAB 的提示符下输入参数该文件的文件名,MATLAB 就会自动执行该 M 文件中的各条语句。
3. M 文件只能对 MATLAB 工作空间中的数据进行处理,文件中所有语句的执行结果也完全返回到工作空间中。
4. M 文件格式适用于用户所需要立即得到结果的小规模运算。
M 函数格式
1.需要用户输入参数,允许零个或多个输入和输出。
2.第一行以 function 开头,函数名和文件名必须相同。不能直接输入文件名来运行,必须由其他语句调用。
3.除了输入和输出变量外,其他在函数内部产生的所有变量都是局部变量,只有在调试过程中可以查看,在函数调用结束后这些变量均将消失。
4.函数可以按少于文件规定的输入输出调用,但不能多于规定输入输出。
输入输出 input,disp
参数
nargin,nargoutMATLAB使用教程与知识点总结(持续更新中)
6.1 MATLAB 语言的流程结构
语句结构
分支结构
if 条件表达式
语句段
end
结构流程为:
如果满足条件表达式 1,则执行语句段 1;
否则跳过语句段 1 执行 end 之后的语句。
for 语句结构
for 循环变量 = v
语句段
End
while 语句结构
while 条件表达式
语句段
end
while 语句循环结构的条件表达式是一个逻辑表达式。只要其值为真(非零),就将自动执行语句段。一旦表达式为假就结束循环。
在以上的循环结构中可以加入 break 语句和 continue 语句进行程序流程的控制。
Break 循环中断循环指令 ,并跳出本循环结构
Continue 跳过此次循环到下一次循环
这 2 者的意义同 C 语言。
其他
开关结构
switch
case表达式1
语句段1
case {表达式2,表达式3,.,.表达式m}
语句段2
...
otherwise
语句段n
end
试探结构
try,语句段1,
catch,语句段2,
end
该结构首先试探性地执行语句段1,如果在此段语句执行过程中出现错误,则将错误信息赋给保留的lasterr变量,并放弃这段语句的执行,转而执行catch后的语句段2。当语句段2出现错误,则终止该结构。
这一结构是C语言所没有的,不过在C++、Java等语言中有出现
6.2 MATLAB 函数基本结构
从函数 magic( )的源程序来看,MATLAB 函数的基本结构为:
函数定义行
function [返回变量列表]=函数名(输入变量列表)
• 帮助文本 注释说明语句段,由% % 引导
函数主体 函数体语句段(其中由%引导的是注释语句)
6.3 MATLAB 程序设计的一些问题
- 符合规范的函数或程序文件命名。
- 采用结构化的程序设计。
- 做好程序中的注释。
- 采取一定措施提高运行效率。
- 预先定义数组或矩阵维数。
6.4程序调试
- 出错原因:
- 调试方法:
1.去掉分号
2.加入显示感兴趣变量的语句
3.function 前加%,将函数文件改为脚本文件。
6.5控制系统数学建模(后续更新,见专栏另一篇文章)
1) 系统模型转换
- ♦把其它类型的模型转换为函数表示的模型自身
- ♦将本类型传递函数参数转换为其它类型传递函数参数
- ♦系统模型连接化简的相关函数
- ♦线性系统稳定性分析
7. 基本语句结构
MATLAB 有 2 种基本语句结构:
直接赋值语句、调用函数语句
7.1 直接赋值语句
- 变量=表达式 %显示运行结果
- 变量=表达式; %不显示运行结果
- 表达式 %结果赋给常量 ans
7.2 调用函数语句
- 函数的一般调用格式为:
[返回变量列表]=函数名(输入变量列表)
- 在调用函数时,很多情况下,同一函数给出了若干种调用方法。这就要求在使用时
- 根据需要调用。
注: 查阅函数 mean( ) 的帮助文档,并说明其不同用法:
M = mean(A)
M = mean(A,dim)
MATLAB使用教程与知识点总结(持续更新中)
8. 常用操作
b. 终止当前运算
进程终止操作:Ctrl + C ;
关掉Matlab:在命令行中输入 Exit 或 Quit ,和点右上角的叉效果相同。
详见转载文章:(总结很全面)
MATLAB使用教程与知识点总结(持续更新中)
今天的文章 MATLAB使用教程与知识点总结(持续更新中)分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/4044.html