专题三MATLAB程序流程控制-1

简介: 专题三MATLAB程序流程控制

一、顺序结构程序

1、脚本文件和函数文件

  • 脚本文件:可以在命令行窗口直接执行的文件,也叫命令文件。
  • 函数文件:定义一个函数,不能直接执行,而必须以函数调用的方式来调用它。


2、文件的建立

(1)用命令按钮创建

(2)用edit命令创建


(3)例子

脚本文件

  • 建立脚本文件f1.m
  • 在命令行窗口运行脚本文件
  • 函数文件:
  • 建立函数文件f1.m
  • 在命令行窗口调用函数文件


3、顺序结构

(1)数据的输入

A=input()

(2)数据的输出

disp(输出项)


(3) 程序的暂停

pause(延迟秒数),若省略秒数,则直接暂停程序,指导用户按下任意键之后才会继续。

若强行中止程序的运行可以用Ctrl+C。

(4)例子

有一线段AB,A的坐标为(1,1) ,B的坐标为(4.5,4.5),求AB的长度及黄金分割点C的长度。



二、用if语句实现选择结构


1、单分支if语句

  • 语句格式:
    if 条件
    语句组
    end
  • 当条件结果为标量时,非零表示条件成立,零表示条件不成立。
  • 当条件结果为矩阵时,如果矩阵为非空,且不包含零元素,则条件成立,否则不成立。
    例如:[1,2;0,4]表示条件时,条件不成立;[12;3,4]表示条件时,条件成立。


2、双分支if语句

  • 语句格式:
    if 条件
    语句组1
    else
    语句组2
    end
  • 例子:输入一个整数,若为奇数则输出其平方根,否则输出其立方根


3、多分支if语句

  • 语句格式:
    if 条件1
    语句组1
    elseif 条件2
    语句组2

……
elseif 条件m
语句组m
else
语句组n
end

  • 例子:输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写字母,则输出其对应的大写字母;若为数字字符,则输出其对应数的平方,若为其他字符则原样输出。


三、用switch语句实现选择结构

1、语句格式

switch 表达式

case 结果表1

语句组1

case 结果表2

语句组2

……

case 结果表m

语句组m

otherwise

语句组n

end


  • switch表达式应该是一个其值可以列举的表达式
  • case结果表为switch表达式的取值,当取值有多个时,用单元数据表示

例子1

输入一个英文单词,判断它是否以元音字母开头


四、用for语句实现循环结构

1、for语句

  • 语句格式:
    for 循环变量=表达式1:表达式2:表达式3
    循环体语句
    end
    (表达式1为初值,表达式2为步长,表达式3为终值)
  • for语句针对向量的每一个元素执行一次循环体。
  • 退出循环之后,循环变量的值就是向量中最后的元素值。
  • 当向量为空时,循环体一次也不执行。


2、例子:求圆周率Π

(1)利用无穷级数展开式求Π的近似值

用向量求和的方式实现程序:


(2)利用定积分的近似值求Π的近似值

(3)利用蒙特卡洛法求Π的近似值


3、for语句更一般的格式

for 循环变量=矩阵表达式

循环体语句

end


执行过程中,是依次将矩阵的各列元素赋给循环变量,然后执行循环体语句,直到各列元素处理完毕。

例如:

for [1,2,3,4] 执行4次

for [1;2;3;4] 执行1次

目录
相关文章
|
1天前
|
算法 计算机视觉 异构计算
基于FPGA的图像RGB转HSV实现,包含testbench和MATLAB辅助验证程序
基于FPGA的图像RGB转HSV实现,包含testbench和MATLAB辅助验证程序
|
1天前
|
算法 调度
电网两阶段鲁棒优化调度模型(含matlab程序)
电网两阶段鲁棒优化调度模型(含matlab程序)
|
1天前
|
数据安全/隐私保护
matlab程序,地震波压缩、地震波缩尺、地震波压缩时间,调整时长、时间间隔
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
1天前
|
数据安全/隐私保护
matlab程序 批量计算地震波 等延性反应谱,延性反应谱,延性加速度谱
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
1天前
|
算法 数据安全/隐私保护
matlab程序,地震波三联反应谱,标定三联谱,三联反应谱
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
1天前
|
数据安全/隐私保护
matlab程序, 脉冲波合成与提取,滑冲效应、方向性效应,自定义脉冲模型,提取脉冲波
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
1天前
|
算法 数据安全/隐私保护
matlab程序,傅里叶变换,频域数据,补零与不补零傅里叶变换
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
1天前
|
数据安全/隐私保护
地震波截波、Arias强度截波、截波处理、批量截波,matlab程序
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
1天前
|
数据安全/隐私保护
时域与频域数据互相转换,傅里叶变换与逆傅里叶变换,matlab程序,时域转频域
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
1天前
|
数据安全/隐私保护
加速度、速度、位移互相转换,加速度转位移matlab程序,任意数据类型
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度

热门文章

最新文章