MATLAB是一个很强大的软件,在自动控制领域也是使用非常广泛,本系列博文将基于控制系统仿真进行,参考书籍《MATLAB/Simulink与控制系统仿真》,该系列博文与笔者的自动控制理论(考研篇)互为补充,详细理论知识点请各位移步自动控制理论(考研篇)系列博客。
% 1.顺序程序控制 % 顺序程序控制从程序的首行开始,逐行顺序往下执行,直到程序最后一行; % 2.分支程序结构 % 分支程序结构的程序根据执行条件是否满足,确定执行方向; % 分支结构:if-else-end结构、while 结构、switch-case-otherwise结构; % 2.1 if,else,elseif语句 % 格式1:if-end结构 if 逻辑表达式 执行语句 end % 格式2:if-else-end结构 if 逻辑表达式 执行语句1 else 执行语句2 end % 格式3:if-elseif-end结构 if 逻辑表达式1 执行语句1 elseif 逻辑表达式2 执行语句2 end
% 实战环境:MATLAB 2020b % Tips:以下均由MATLAB验证 % 实战1:if条件语句,if_else.m n=input('n='); if n<0 % 判断正负 A='negative' elseif isempty(n)==1 % 判断是否为空 A='empty' elseif rem(n,2)==0 % 判断奇偶性 A='even' else A='odd' end >> if_else n=[] A = 'empty' >> if_else n=4 A = 'even' >> if_else n=-10 A = 'negative'
% 2.2 switch语句 % 基本格式: switch 表达式 % 表达式可以是标量可以是字符串 case 值1 语句1 case 值2 语句2 ... otherwise 语句3 end
% 实战环境:MATLAB 2020b % Tips:以下均由MATLAB验证 % 实战2:switch_.m name=input('Please input your name:'); switch name case 'willard' 'willard is fuxi technology CEO' case 'chen' 'chen is fuxi technology CFO' case 'zhang' 'zhang is fuxi technology big BOSS' otherwise 'This people is not found' end >>Please input your name:'chen' >>ans = 'chen is fuxi technology CFO'
% 3.循环程序结构 % while循环结构:循环体被执行的次数是不确定的; % for循环结构:循环体被执行的次数是确定的; % 3.1 for循环语句格式 for 循环变量=起始值:步长:终止值 循环体 end % 3.2 while循环语句格式 while 表达式 循环体 end
% 实战环境:MATLAB 2020b % Tips:以下均由MATLAB验证 % 实战3:输出九九乘法表 for i = 1:9 for j = 1:i fprintf('%d*%d=%d ', i, j, i * j) if i == j fprintf('\n') continue end end end 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 4*1=4 4*2=8 4*3=12 4*4=16 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
% 以下是MATLAB程序的基本组成结构 % 说明 清除命令:清除Workspace中的变量和图形,clear,close 定义变量:包括全局变量的声明及参数值的设定 逐行执行命令:指MATLAB提供的运算指令或工具箱提供的专用命令 控制循环:for,if then,switch,while等语句 逐行执行命令 end 绘图命令:将运算结果绘制出来