在使用MATLAB的验证算法的过程,很多时候都需要利用各种函数,这样可以减轻主程序的负担,让程序和算法看起来更加简洁和易懂,框架更加清晰和明了。MATLAB内部会有自带的函数,但是我们在研究算法的时候,针对特定的算法,我们需要自己编写函数,然后进行调用。最近在研究LSM(least Mean Square)算法时,需要调用函数。借用了网上一个程序,发现一些错误,对此进行一些分析和研究。可能对于MATLAB大神来说,这很简单,但对于一些初学者来说,这也值得借鉴与学习。
1.在主程序中我需要调用LMS这个函数:
[yn, W, en]=LMS[xn, dn, M, mu];
2.在LSM这个函数没有修改之前,仿照MATLAB自带的函数格式调用和编写:
(
注:这个LMS函数原本不是我写的
)
3.运行MATLAB主程序,发现以下问题:
命令行窗口显示有错误,分析如下:
1> 原作者并没有把LMS作为一个函数编写,它是只是一个文件,不是一个函数;
2> 调用过程中,LMS函数必须有对应的输入和输出变量和结果;
3> 函数格式必须正确,与主程序相对应。
4.修改如下:
1> 重新命名一个文件记LMS1,LMS1中有主程序相对应的输入和输出变量和结果,函数格式仿照MATLAB自带格式编写:
2> 在主程序中重新调用
3> 编译如下:
显示正确!
后记:首先你必须对你研究的算法熟悉,对MATLAB相关函数也有一定的了解。
MATLAB中文学习论坛:
http://www.ilovematlab.cn/forum.php