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的两种主要形式

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

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

相关推荐
菜鸟~noob2332 小时前
【电子战】第03篇:CFAR(恒虚警)处理【含matlab代码】
开发语言·matlab
菜鸟~noob2335 小时前
【电子战】第02篇:能量检测器 vs. 相关检测器【含matlab代码】
开发语言·matlab
菜鸟~noob2337 小时前
【电子战】 第01篇:噪声、门限与虚警/检测概率(PFA/PD)【含matlab代码】
开发语言·matlab
洛阳纸贵1 天前
MATLAB-matlab基础知识
学习·算法·matlab
matlab代码2 天前
基于matlab PCA人脸识别系统【源码63期】
开发语言·matlab
matlab代码2 天前
基于matlab的红绿灯图像检测识别系统【源码60期】
开发语言·matlab
通信仿真爱好者2 天前
第【122】期--卷积编码与维特比译码在 M‑QAM 系统中的性能仿真研究--matlab完整代码
matlab·qam调制·维特比译码·卷积码·信道编码
weixin_307779134 天前
一维无粘 Burgers 方程的激波形成问题:MacCormack 格式求解
c++·算法·matlab
Evand J4 天前
【MATLAB例程,图像滤波5】 反谐波均值滑动窗口滤波(CHMF)图像降噪与质量评价,附代码下载链接
图像处理·算法·计算机视觉·matlab·均值算法·滑动窗口滤波·均值滑动
分享资料5 天前
Matlab脚本调用Python脚本方法
matlab