MATLAB的结构化程序设计
MATLAB 设计
2023-09-14 09:14:30 时间
目录
0 主要内容
条件控制结构循环控制结构其他常用语句主程序文件和函数文件
1 条件控制结构
1.1 if条件控制结构
1.1.1 单分支结构
if 表达式语句组A
end
1.1.2 双分支结构
if 表达式语句组Aelse语句组 Bend
1.1.3 多分支结构
if 表达式1语句组Aelseif 表达式2语句组Belseif 表达式3语句组C……else语句组nend
%例1.1 判断一个数的奇偶性。
n=input('n=');
if rem(n,2)==0;
A='even'
else
A='odd'
end
1.2 switch-case条件控制结构
可使程序在不同的情况下进行相应的操作。switch 表达式(标量或字符串)case 值1语句组Acase 值2语句组B……otherwise语句组Nend
%例1.2 判断一个数的奇偶性。
clear all
n=input('n= ')
switch rem(n,2)
case 1
A='odd'
case 0
A='even'
otherwise
A='empty'
end
2 循环控制结构
2.1 for循环结构
主要用于以固定取值或循环次数的重复 执行过程。for 循环变量=表达式语句组endfor k=初值:增量:终值语句组end
%例2.1 计算1到999之间的所有偶数之和。
s1=0
for m=2:2:999
s1=s1+m
end
s1
s2=sum(2:2:999)
%注意:for循环可以嵌套使用实现多重循环,但for与end必须成对出现。
2.2 while循环结构
主要在不能或不易确定循环次数的情况 下使用。while 表达式语句组end注意 : while 与 end 必须成对出现。
%例2.2 求MATLAB中的最大实数。
x=1
while x~=inf
x1=x
x=2*x
end
x1
%结果
x =
8.9885e+307
x1 =
8.9885e+307
3 其他常用语句
3.1 pause
实现暂停功能。pause暂停至单击鼠标左键或按键盘的任意键后,继续执行后面的语句。pause( 时间 )暂停到设定时间(秒)后,继续执行后面的语句。
%例3.1 演示信号受噪声影响的实时图像。
t=0:pi/20:6*pi;
y=2*sin(t)+3*sin(2*t)
for n=1:100
plot(t,y)
pause(0.03)
end
t=0:pi/20:6*pi;
y=2*sin(t)+3*sin(2*t)
for n=1:100
y1=y+rand(size(y));
plot(t,y1)
pause(0.03)
end
3.2 input
是一种人机交互命令。input( ‘ 提示文字 ’ )input(‘n=’)程序执行到此时暂停,在命令窗显示引号 中的字符串,要求用户通过键盘输入数据。
4 主程序文件和函数文件
4.1 主程序文件
主程序文件 :用户编制的程序。主程序的特点(1)用 clear , clear all , close all 开头;( 2)注释行,以%开头。( 3)程序主体,定义全局变量( global 变量名1 …)。4.2 函数文件
函数文件: 子程序文件。必须以函数定义 为第一行内容。函数文件 必须以 function 开始,且必须有函 数名;可以有输入、输出变量;除用 global说明外,否则变量均为局部变量。函数文件可以是 MATLAB 本身提供的,也可以是用户编制的程序。
%例4
function y=humps(x)
y= 1./((x-0.3).^2+0.01)+1./((x-.9).^2+.04)-6;
相关文章
- matlab设计模拟带通滤波器
- 1.巴特沃斯模拟滤波器(低通,高通,带通,带阻)设计-MATLAB实现
- 如何用matlab编写分段函数_请教各位怎样用matlab定义一个分段函数MATLAB分段函数…[通俗易懂]
- matlab插值计算
- matlab测试部分,验证、确认和测试 – MATLAB 和 Simulink 解决方案 – MATLAB & Simulink
- matlab interp1db,matlab – Matlab interp1图出现数据偏移 – 堆栈内存溢出
- MATLAB矩阵运算
- matlab中Regionprops函数详解——度量图像区域属性
- matlab读取txt文件为数组「建议收藏」
- matlab plot函数详解取值范围_matlab为什么plot不出来图
- matlab用高斯曲线拟合模型分析疫情数据|附代码数据
- matlabfprintf用法_matlab中compose函数
- Matlab循环语句_matlab中if语句的用法
- 《安富莱嵌入式周报》第302期:芯片内部Flash读保护攻击,开源智能手表设计,超棒静电学手册中文版,65W USB电源适配器方案,历届Matlab挑战赛
- Matlab与MySQL:极具价值的组合(matlab与mysql)