MATLAB的使用(二)

一,算法需求

算法五特性
(1)有穷性。有穷性是指算法需在有穷步骤、有穷时间内结束。

(2)确定性。确定性是指每个步骤都有确切的意义,相同的输入有相同的输出。

(3)有效性。有效性是指可通过已实现的运算在有限次完成,或叫可行性。

(4)输入。

(5)输出。

二,分支语句

1,分支结构

·分支语句的作用:判断当前的情况来决定下一步的工作

·一般情形:MATLAB提供了if-else-end结构和switch-case-otherwise结构来实现分支功能。

·特殊情形:try-catch结构是分支选择结构的一种特殊形式。

如果程序的bugs 在try语句块中,那么程序将会执行catch语句块。

try-catch语句可以用于捕捉错误

问:为什么try-catch应用较少?

在当前Matlab 的脚本高debuq 运行模式下,采用dbstopiferror 等语句更加简洁,当针对特殊异常捕获时才会使用try-catch。

2,if-else-end

3,switch-case-otherwise

注意:switch语句判断的时delta值的本身,而不是判断语句

三,循环语句

循环语句的作用:对重复性工作进行执行,并提供起始和结束的标志·

MATLAB提供了for结构和while结构来实现循环功能。

-for语句循环的特点是判断条件通常是对循环次数的判断,一般循环次数预先设定好;

-while语句直接将逻辑判断语句作为控制条件

原则上while的适用范围更广一些。但在一般操作中for循环的应用更加广泛。

1,for结构

index在values中按顺序进行取值,value一般是行向量形式,一般采用冒号表达式进行生成

2,while结构

3,组合控制

除了在判断中对代码下一步进行控制,还具有三种特殊控制符

break 跳出循环体

continue 跳过本次循环

return 跳出函数体 在matlab的一般使用中较少应用return

4,循环体与矩阵

Matlab具有非常优异的矩阵运算优势,能用矩阵运算则用矩阵

1.尽量避免对矩阵元素进行循环遍历操作

2.循环体中的参量应提前预留空间,避免在循环中新建空间

5,多线程循环

*parfor中不能存在二级循环结构

*parfor由于是并行体系,其不同循环中数据不能冲突

*parfor中不能使用break/continue

复制代码
function imgfin=parfor img(T,S,defocus tM,CC)

   imgfin=zeros(M,2*T);

    parfor ji=l:M

           imgfin(jj,:)=Quick Defocus img deta(T,0.5,1,2*T,T,S,defocus t,cc);

     end

end

第一次使用parfor时需要启动线程,需要消耗一定时间:

在for循环占耗时主体的函数中,可设计parfor来加速

四,自定义函数

尽管完全在MATLAB命令行中进行许多有用的计算,但迟早需要编写M文件它们是其他编程语言中

程序、函数、子程序和过程的等价物。将一系列命令收集到一个M文件中会带来很多可能性,包括

·通过编辑文件而不是重新键入一长串命令来实现算法,

·对数值实验进行永久记录,

·建立日后可重复使用的公用设施,

·与他人交换M文件。

M-File的两种主要形式

·脚本:可直接运行、编辑、调试的一组代码

·函数:进行特定输入/输出的一组代码

相关推荐
Evand J4 小时前
【MATLAB例程】到达角度定位(AOA),平面环境多锚点定位(自适应基站数量),动态轨迹使用EKF滤波优化。附代码下载链接
开发语言·matlab·平面·滤波·aoa·到达角度
极客数模12 小时前
2025年MathorCup 大数据竞赛明日开赛,注意事项!论文提交规范、模板、承诺书正确使用!2025年第六届MathorCup数学应用挑战赛——大数据竞赛
大数据·python·算法·matlab·图论·比赛推荐
机器学习之心13 小时前
MATLAB基于灰色聚类-正态云的地铁牵引系统健康状态综合评估
matlab·灰色聚类·正态云
Matlab程序猿小助手13 小时前
【MATLAB源码-第303期】基于matlab的蒲公英优化算法(DO)机器人栅格路径规划,输出做短路径图和适应度曲线.
开发语言·算法·matlab·机器人·kmeans
简简单单做算法1 天前
基于图像小波变换的多尺度自适应双边滤波matlab仿真
matlab·多尺度·图像小波变换·自适应双边滤波
程高兴1 天前
LCC-S型磁耦合谐振无线电传输系统实现恒压输出simulink
matlab
fl1768312 天前
基于matlab实现的DnCNN网络
开发语言·matlab
Lee_yayayayaya2 天前
《通信之道—从微积分到5G》阅读笔记
开发语言·matlab
通信小呆呆2 天前
以矩阵视角统一理解:外积、Kronecker 积与 Khatri–Rao 积(含MATLAB可视化)
线性代数·算法·matlab·矩阵·信号处理
xrgs_shz2 天前
基于MATLAB的证件照片背景变换实例
图像处理·计算机视觉·matlab