MATLAB中M文件的编写与调试的过程是什么? 请教关于matlab中的m函数和m文件的程序编写,谢谢!

MATLAB\u4e2dM\u6587\u4ef6\u7684\u7f16\u5199\u4e0e\u8c03\u8bd5\u7684\u8fc7\u7a0b\u662f\u4ec0\u4e48?

matlab\u8f6f\u4ef6\u7684m\u6587\u4ef6\u5305\u62ec\u4e24\u79cd\uff0c\u811a\u672c\u6587\u4ef6\u548c\u51fd\u6570\u6587\u4ef6\uff0c\u5177\u4f53\u7684\u53ef\u5b66\u4e60\u6559\u7a0b\uff0c\u6839\u636e\u5177\u4f53\u95ee\u9898\uff0c\u7f16\u5199\u51fa\u7a0b\u5e8f\uff0c\u4fdd\u5b58\u4e3am\u6587\u4ef6\uff1b\u5982\u662f\u811a\u672c\u6587\u4ef6\uff0c\u76f4\u63a5\u70b9\u51fbedit\u7a97\u53e3\u7684\u5de5\u5177\u6761\u201c\u8fd0\u884c\u201d\uff0c\u5c31\u4f1a\u8fd0\u884c\u7a0b\u5e8f\uff0c\u5982\u6709\u9519\uff0c\u4f1a\u6709\u63d0\u793a\u51fa\u73b0\u5728\u547d\u4ee4\u7a97\u53e3\uff0c\u5c31\u53ef\u518d\u4fee\u6539\u3001\u518d\u8fd0\u884c\u3002\u5982\u662f\u51fd\u6570\u6587\u4ef6\uff0c\u8981\u5148\u5b9a\u4e49\u8f93\u5165\u53c2\u6570\uff0c\u518d\u8c03\u7528\u51fd\u6570\u540d\uff0c\u5982\uff1a[a,b]=fun(x,y)\uff0cx,y\u5c31\u662f\u8f93\u5165\u53c2\u6570\uff0ca,b\u662f\u8f93\u51fa\u53c2\u6570\uff0c\u5c31\u662f\u8fd0\u884c\u7684\u7ed3\u679c\uff0c\u8fd0\u884c\u540e\u6709\u9519\uff0c\u5c31\u4f1a\u6709\u63d0\u793a\u51fa\u73b0\u5728\u547d\u4ee4\u7a97\u4e2d\u3002\u8fd9\u5c31\u662fm\u6587\u4ef6\u7684\u7f16\u5199\u3001\u8fd0\u884c\u3001\u8c03\u8bd5\u8fc7\u7a0b\u3002

\u51fd\u6570\u6587\u4ef6
function myfun(a,b,c);
x=-b/2/a-5:0.1:-b/2/a+5;
y=a*x.^2+b*x+c;
plot(x,y);
xlabel('x');ylabel('y');xlim([min(x),max(x)]);

\u547d\u4ee4\u7a97\u53e3\u4e2d \u8f93\u5165myfun(1,1,1)

\u547d\u4ee4\u7a97\u53e3\u4e2d \u8f93\u5165
myfun(-1,2,1)

1、安装编译器。可有多种选择,matlab自带了一个LCC,推荐使用VC++6.0,我基于VS 2005实现。
2、设置编译器。在matlab命令行输入mbuild –setup以及mex –setup,选择安装的c编译器。
3、调用编译器。此处使用MATLAB下的一个GUI平台deploytool下完全实现。在命令窗口输入deploytool即可看到。具体使用方法请Help。
当然,也可以输入mcc -m filaname, filaname为要转成exe的m文件;
注:在以前的版本中,用编译命令mcc -B sglcpp filaname;自2006的版本后,替换为mcc -mfilaname;
4、安装matlab path\toolbox\compiler\deploy\win32目录下的MCRInstaller。 5.有时候我们会需要file.m文件有参数传递,像下面的代码的一样:我们要传一个参数ms进去,但是在控制台下运行file.exe '5'后面参数只能是字符串。所以我们在M文件中把它进类型转换。
MATLAB 产品族可以用来进行以下各种工作:
● 数值分析
● 数值和符号计算
● 工程与科学绘图
● 控制系统的设计与仿真
● 数字图像处理 技术
● 数字信号处理 技术
● 通讯系统设计与仿真
● 财务与金融工程
MATLAB 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域。附加的工具箱(单独提供的专用 MATLAB 函数集)扩展了 MATLAB 环境,以解决这些应用领域内特定类型的问题。
matlab特点
●此高级语言可用于技术计算
●此开发环境可对代码、文件和数据进行管理
●交互式工具可以按迭代的方式探查、设计及求解问题
●数学函数可用于线性代数、统计、傅立叶分析、筛选、优化以及数值积分等
●二维和三维图形函数可用于可视化数据
●各种工具可用于构建自定义的图形用户界面
●各种函数可将基于MATLAB的算法与外部应用程序和语言(如 C、C++、Fortran、Java、COM 以及 Microsoft Excel)集成
MATLAB的优势
(1)友好的工作平台和编程环境
MATLAB由一系列工具组成。这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。
(2)简单易用的程序语言
Matlab一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。使之更利于非计算机专业的科技人员使用。而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。
(3)强大的科学计算机数据处理能力
MATLAB是一个包含大量计算算法的集合。其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。在通常情况下,可以用它来代替底层编程语言,如C和C++ 。在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。
(4)出色的图形处理功能

图形处理功能 MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。可用于科学计算和工程绘图。新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。
(5)应用广泛的模块集合工具箱
MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。
(6)实用的程序接口和发布平台
新版本的MATLAB可以利用MATLAB编译器和C/C++数学库和图形库,将自己的MATLAB程序自动转换为独立于MATLAB运行的C和C++代码。允许用户编写可以和MATLAB进行交互的C或C++语言程序。另外,MATLAB网页服务程序还容许在Web应用中使用自己的MATLAB数学和图形程序。MATLAB的一个重要特色就是具有一套程序扩展系统和一组称之为工具箱的特殊应用子程序。工具箱是MATLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。
(7)应用软件开发(包括用户界面)
在开发环境中,使用户更方便地控制多个文件和图形窗口;在编程方面支持了函数嵌套,有条件中断等;在图形化方面,有了更强大的图形标注和处理功能,包括对性对起连接注释等;在输入输出方面,可以直接向Excel和HDF5进行连接。

首先打开MATLAB在文件(file)中选择新建(new)然后选择m_文件(M_file).皆可打开M文件编辑窗口:
例:可以在此窗口中输入
function fx=funx(x)
fx=x-10.^x+2
然后保存在当前默认目录
然后在命令窗口(command window)中调用该M文件(如X=3时)
>>funx(3即可)

  • matlab涓濡備綍鍦ㄤ竴涓M鏂囦欢涓皟鐢ㄥ彟涓涓狹鏂囦欢
    绛旓細1銆侀鍏堣鍦ㄧ瑪璁版湰鐢佃剳涓婂畨瑁呭ソ鎸囧畾鐗堟湰鐨刴atlab杞欢骞跺弻鍑绘墦寮銆2銆佺劧鍚庡弻鍑籱atlab鍥炬爣鎵撳紑鍏朵富椤甸潰锛屽彲浠ョ湅鍒拌繖涓蒋浠剁殑鎸夐挳閮芥槸鍏ㄨ嫳鏂囧崟璇嶇殑銆3銆侀偅涔堝垱寤m鏂囦欢鐨鏂规硶灏辨槸榧犳爣绉诲姩鍒癗ew鎸夐挳涓婂崟鍑讳竴涓嬶紝鍦ㄥ脊鍑烘潵鐨勮彍鍗曚腑閫夋嫨骞剁偣鍑籉unction杩欎釜閫夐」銆4銆佽繖涓椂鍊欎細鐪嬪埌璺冲嚭鏉ヤ竴涓柊鐨刄ntitled*鏂囦欢瀵硅瘽妗嗭紝...
  • MATLAB濡備綍璋冪敤M鏂囦欢?
    绛旓細04 鍦ㄥ懡浠よ绐楀彛涓緭鍏ame鏂囦欢鍚嶏紝鐐瑰嚮杩愯锛屽氨鎴愬姛鍦拌緭鍑鸿繍琛岀粨鏋滐細Mtalab璋冪敤M鏂囦欢锛侊紒锛侊紝杩欏氨璇存槑MATLAB鎴愬姛鍦拌皟鐢ㄤ簡name.m鏂囦欢銆傜壒鍒彁绀 涓汉鐨勭敓娲诲皬鍒嗕韩锛屽笇鏈涜兘甯埌澶у锛
  • matlab m鏂囦欢涓浣曡皟鐢╯imulink妯″潡
    绛旓細matlab m鏂囦欢涓皟鐢╯imulink妯″潡鐨勬柟娉曞拰璇︾粏鐨勬搷浣滄楠ゅ涓嬶細1銆侀鍏堬紝鎵撳紑Simulink锛屽湪Simulink搴撲腑閫夋嫨鈥 Simulink鈥濆簱锛屽湪瀛愬簱鈥 User-Defined Functions鈥濅腑閫夋嫨鈥 MATLAB Function鈥濓紝鐒跺悗灏嗗叾娣诲姞鍒癝imulink浠跨湡妗嗗浘涓紝濡備笅鍥炬墍绀恒2銆佸叾娆★紝鎵撳紑m鏂囦欢锛屽弻鍑烩淢ATLAB Function鈥濇墦寮缂栬緫鐜锛屽涓嬪浘...
  • matlab 缂栧啓M鏂囦欢
    绛旓細涓绉嶄负鑴氭湰鏂囦欢锛屽氨鏄敱涓鍫嗗懡浠ゆ瀯鎴愮殑锛岄噷闈㈢涓琛屼笉鏄 function 寮澶达紝杩欑鏂囦欢姣斿鏄痬yfun.m 灏卞湪鍛戒护绐楀彛閲岃緭鍏yfun鍥炶溅灏辫锛matlab浼氭妸m鏂囦欢涓殑鍛戒护閮借繍琛屼竴娆°傚彟涓绉嶄负鍑芥暟鏂囦欢锛岀涓琛屼负function 锛屾瘮濡傝 function y=myfun(x)锛岃繖绉嶆枃浠跺嚱鏁板悕涓庢枃浠跺悕蹇呴』鏄竴鑷寸殑锛屽湪鍛戒护绐楀彛閲岃緭鍏yfun...
  • matlab涓濡備綍璋冪敤m鏂囦欢銆傝缁欏嚭鍏蜂綋姝ラ,鍖呮嫭鍑芥暟鍛藉悕鍜屽嚱鏁拌繍鐢,鏈...
    绛旓細function j = incFun(i)j = i + 1;end a = 2 ;b = incFun(a);杩欎釜鍥炵瓟涓嶉敊銆傘俰灏辨槸杈撳叆鍙橀噺鍜 j灏辨槸杈撳嚭鍙橀噺鍜 incFun灏辨槸鍑芥暟鍚嶅挴灏卞儚浣犺皟鐢‵FT涔嬬被鐨勫嚱鏁 涓鏍风敤鍜 m鑴氭湰鍜鑷繁鍐鐨刴鍑芥暟瑕佸湪鍚屼竴涓洰褰曚笅锛
  • matlab鎬庝箞璋冪敤m鏂囦欢涓鐨鍑芥暟
    绛旓細matlab涓殑m鏂囦欢鏄彲浠ュ湪鏂囦欢澶栬皟鐢ㄧ殑锛屽y=myfun(x)鏄釜涓嚱鏁帮紝鍙繖鏍疯皟鐢細x=[...];y=myfun(x)濡傛灉瑕佽皟鐢╩鏂囦欢涓殑鍑芥暟锛屽垯鍙兘鍦ㄨm鏂囦欢鍐咃紝涓嶈兘鍦ㄥ閮ㄨ皟鐢紝杩欑鍑芥暟鍙瓙鍑芥暟銆傚锛歠unction y=myfun(x)a=[...];y=myfunfun(a)function f=myfunfun(a)f=a^2+1;end end 杩欎釜鏂囦欢...
  • matlab涓濡備綍寤虹珛涓涓m鏂囦欢?
    绛旓細棣栧厛鍗曞嚮鈥淣ew M-File鈥濈劧鍚庡啓浣犵殑鍑芥暟 渚嬪 function y=f(x) f涓哄嚱鏁板悕锛寈鏄緭鍏ュ弬鏁帮紝y鏄緭鍑虹粨鏋 涓嬮潰鍐欒繍绠楀紡 濡倅=2*x;鍗曞嚮鈥淪ave鈥濋粯璁や細浠ュ嚱鏁板悕淇濆瓨 涓婁緥淇濆瓨涓m.file 鐒跺悗鍙互鐩存帴璋冪敤 濡傝皟鐢▂=f(2)缁撴灉涓4
  • matlab涓濡備綍璋冪敤m鏂囦欢
    绛旓細濡傛灉浣犵殑绋嬪簭涓兂璋冪敤鏂囦欢鍚嶄负Mfilename.mat鐨勬枃浠讹紝鍙濡備笅鎸囦护灏卞彲浠ヤ簡锛屽彲浠ョ粰Mfilename.mat杈撳叆鍑芥暟鍊糰,b,c锛屼笖鎶婂緱鍒扮殑鍊艰祴缁橷鍜孻锛沎X,Y]=Mfilename(a,b,c)锛涘悓鏃舵敞鎰忥細1锛岃璋冪敤鐨勬枃浠朵笌浣犵殑涓荤▼搴忓湪鍚屼竴鏂囦欢澶鍐咃紝鍚﹀垯瑕佹寚鏄庤矾寰勶紱2锛岃璋冪敤鐨勭▼搴忕涓琛岄渶瑕佸姞涓婅鎸囦护锛歠unction [X,Y...
  • matlab涓濡備綍浣跨敤m鏂囦欢涓殑鏁版嵁
    绛旓細1銆m鏂囦欢濡傛灉鏄嚱鏁癴unction寮澶达紝姣斿function out=fun(in) 鐩存帴鍦╳orkspace涓皟鐢╫ut=fun(in)銆2銆佽嫢m鏂囦欢鏄剼鏈紝鏂囦欢鍚嶄负funfun 鐩存帴鍦╳orkspace涓緭鍏unfun灏辫浜嗐3銆佹墦寮.mat鏂囦欢鏂瑰紡锛岀敤file-->importdata 鎴栬呯敤鍛戒护琛宨mportdata *.mat锛屽悗闈㈠悗缂鍚嶄笉鑳戒笉鍐欙紝鍚﹀垯鎶ラ敊銆
  • matlab鎬庝箞缂栧啓M鏂囦欢
    绛旓細file->new 缂栧啓浣鐨勬枃浠锛屽鏋滄槸瑕佸啓鍑芥暟锛岃鎶婅繖涓枃浠朵繚瀛樹负鍑芥暟鐨勫悕瀛椼傛瘮濡傦細func res = MyFunction(x)//浠ヤ笅鏄嚱鏁板唴瀹 瑕佷繚瀛樹负MyFunction.m
  • 扩展阅读:手机打开matlab的m文件 ... matlab创建脚本文件 ... matlab调用另一个m文件 ... 如何用matlab编写m文件 ... matlab m文件历史 ... matlab编写脚本文件 ... matlab命令文件怎么建立 ... matlab怎么用m文件 ... matlab编写m文件并计算 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网