基于MATLAB的简单函数调用

  • Post author:
  • Post category:其他


在使用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



版权声明:本文为godloveyuxu原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。