基于MATLAB的简单函数调用
2016-11-15 11:21
155 查看
在使用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
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
相关文章推荐
- C++调用CUDA(基于VS2015) matlab调用CUDA 以及matlab调用C++ 学习记录
- 基于Matlab调用摄像头
- 基于MATLAB的m序列产生函数及其调用方法
- 基于MATLAB 进行混合编程的接口技术实现
- MATLAB 控制系统解决方案— 基于模型的系统设计
- matlab调用ansys的方法
- 如何使用SOAP:Lite Perl程序库调用基于.Net框架的Web服务
- c++与matla混合编程之一---调用matlab工具箱内的函数
- win2k环境下基于JBOSS的J2EE开发实践----之三、有状态会话 Bean的开发及多种调用有状态会话Bean方法的实现
- 改进的“以非泛型方式调用泛型方法”之基于DynamicMethod的实现
- Dvbbs 在其他页面 调用 Dvbbs 目录下的数据, 如最近一个月的最新帖子 (基于此帖成功)
- VC调用matlab中定义的.m文件中的函数的实例
- 改进的“以非泛型方式调用泛型方法”之基于DynamicMethod的实现
- 基于套接字描述符的ioctl( )系统调用详解
- 改进的“以非泛型方式调用泛型方法”之基于DynamicMethod的实现
- VC6调用matlab7里的m程序的案例及方法
- C++Builder下调用Matlab的COM总结
- Sql-server里可以调用基于IDispatch的COM组件
- 调用Xvid编码器流程(基于xvid1.1.0)
- WEB服务动态解析及调用技术的实现(基于WSDL4J及SAAJ)