matlab的命令编辑窗口(Command Window)界面主要是用来调用系统命令、调用自定义函数(m文件里定义的函数)或编写一些较小的代码。在遇到需要用到比较多的代码才能摆平的需求时,在命令编辑窗口每一行都有提示输入符号,用起来不是很方便(如前所述而且命令编辑窗口主要是用来调用命令之用),此时我们不得不求助于matlab的m文件来编写代码。所以,记录一下经自行探索其编写方式后的入门过程:

版本:MATLAB    7.9.0(R2009b)

1.新建m文件

打开matlab软件-->file-->new-->Function m-file

经过此步骤之后,matlab会弹出一个新的编辑窗口,并生成少许代码如下:

function [ output_args ] = Untitled( input_args )

%UNTITLED Summary of this function goes here

%   Detailed explanation goes here

end这些代码是一个m-函数的模板。

function:表示编写的是一个函数。

output_args: 表示编写此函数的返回值(不同于C语言的是需要被返回的值无需使用return语句,只要将outp_args相应的参数拿到代码中赋值即可,同一般变量的使用),各返回值间用逗号隔开。

input_args: 此函数的输入参数,各参数之间用逗号隔开。

Untitled:   这是您所编写函数时所定义的函数名。注意:函数名和m文件名需要保持一致。如刚所创建的m文件在工作空间时命名为“RungeKuttaCalculate.m”则相应的函数名也需要为“RungeKuttaCalculate”,否则会引起报错。

%: 是matlab的注释语句的注释符,相当于C语言中的行注释符"//",在这里你可以描述此函数的功能,参数含义和返回值含义,使其含义更加明确。

剩余空间:从%到最后面的end部分是编辑代码的空间。end表示此函数编辑完毕。

总结函数文件的基本结构:

function  [ 输出形参表:output1, output1...outptn ]=函数名 [输出函数形参表:input1, input2..., inputn]

注释说明部分

函数体代码部分

end

说明:

在调用函数时要使用编写此函数的文件名,一般函数名和文件名保持一致。

函数中遇return语句时,此函数调用结束。

函数调用的一般格式是: [输出实参表]=函数名(输入实参表)

在调用函数时,MATLAB用两个永久变量nargin和nargout分别记录调用该函数时的输入实参和输出实参的个数。只要在函数文件中包含这两个变量,就可以准确地知道该函数文件被调用时的输入输出参数个数,从而决定函数如何进行处理。

2.编写代码

(1)matlab数据类型

(2)matlab的流程控制语句

matlab的流程控制语句跟C语言中的语句差不多,只是使用的形式有点不同。在C语言中if, for, while等是使用"}"或者“;”(其中只包含一条语句时)来结束。在matlab中他们使用的形式如下:

if语句

if 条件1

matlab语句1;

【 elseif 条件2

matlab语句2;

.......

else

matlab语句n;】

end

end来标识if语句内的matlab语句完结,如果其中有一个逻辑条件为真则执行相应的matlab语句,否则跳过整个if语句内容执行后继语句。

【】内容为可选内容,根据需求而定。但是if....elseif必须匹配。

switch语句

switch 表达式

case  表达式1

matlab语句1

case  表达式2

matlab语句2

....

case 表达式n

matlab语句n

otherwise

matlab语句n+1

end

跟if语句相似,用switch下面的表达式来匹配case表达式中的内容,匹配到哪一个case表达式,相应的matlab语句就会被执行。

try语句

try

matlab语句1

catch

matlab语句2

end

try语句先试探性执行语句组1,如果语句组1在执行过程中出现错误,则将错误信息赋给保留的lasterr变量,并转去执行语句组2。这种试探性执行语句是其他高级语言所没有的。

for语句

for 循环变量=初始值:步长:终值

循环体语句

end

如果初始值在付给循环变量后,循环变量的值介于初始值与终值之间则执行循环体语句,每次执行后循环变量增加步长值,再与终值比较是否小于终值,若还小于终值,则执行循环体语句,若非,则跳出for循环执行后继语句。如此循环直到跳出for循环为止。

while语句

while(条件)

循环体语句

end

其执行过程为:若条件成立,则执行循环体语句,执行后再判断条件是否成立,如果不成立则跳出循.

循环嵌套,个循环之间可以嵌套使用。

在m文件的函数编写中,撇开读取文件操作不谈使用基本的流程控制和matlab基本数据类型,再加上调用matlab强大的库函数已经可以做很多事情了,起码做作业没问题了撒,用龙格-库塔解线性方程组时用上面之所列举足矣(加点数组定义法)。

此次笔记记录完毕。

matlab 使用.m文件,matlab 编写M文件(函数)相关推荐

  1. Cacti 插件中setup.php 文件的编写

    Cacti 插件中setup.php 文件的编写 名词: 初始化函数   预定义函数  cacti 插件存放在 /plugins 目录,由setup.php与cacti 做关联调用; setup.ph ...

  2. ROS中launch文件的编写

    ROS中launch文件的编写 launch文件介绍 ROS系统里的组成单位是节点(node),在启动ROS时需要启动所有的node,如果手动一一启动会是一项十分繁琐的事情,因此ROS通过launch ...

  3. matlab中exp(liangx),Matlab基础知识

    <Matlab基础知识>由会员分享,可在线阅读,更多相关<Matlab基础知识(122页珍藏版)>请在人人文库网上搜索. 1.Lxy, China Jiliang Univer ...

  4. MATLAB教程三:MATLAB程序流程控制

    文章目录 3.1 顺序结构 3.2 选择结构 3.3 循环结构 3.4 函数文件的定义与调用 3.5 函数参数与变量的作用域 3.1 顺序结构 文件的建立: 文件分为: 脚本文件:是可在命令行窗口直接 ...

  5. MATLAB中MEX文件的编写与调试

    *************************************************** 更多精彩,欢迎进入:http://shop115376623.taobao.com http:/ ...

  6. matlab m文件的编写,Matlab实验报告(四)M文件的编写.doc

    Matlab实验报告(四)M文件的编写.doc 实验目的 学习MATLAB屮的关系运算和逻辑运算,掌握它们的表达形式和川法. 掌握MATLAB中的选择结构和循环结构. 学会用MATLAB进行M文件的编 ...

  7. 【Matlab】如何规范地编写一个MATLAB函数文件

    在matlab中,M文件分为脚本文件和函数文件.如果M文件的第一个可执行语句以function开头,那这个M文件就是函数文件.函数文件内定义的变量为局部变量,只在函数文件内部起作用,当函数文件执行完后 ...

  8. 电力系统励磁涌流有关的问题分析。 可以通过MATLAB中m文件便编写产生励磁涌流

    电力系统励磁涌流有关的问题分析. 可以通过MATLAB中m文件便编写产生励磁涌流,也可以通过simulink仿真出励磁涌流. 可以仿真分析影响励磁涌流的因素,以及抑制励磁涌流的措施. 可以研究识别励磁 ...

  9. matlab编写文件格式,MATLAB程序设计教程(4)——MATLAB文件操作

    MATLAB程序设计教程(4)--MATLAB文件操作 第4章MATLAB文件操作 4.1 文件的打开与关闭 4.2  文件的读写操作 4.3  数据文件定位 4.1 文件的打开与关闭 4.1.1 文 ...

  10. MATLAB编写ode文件,MATLABODE45问题M文件为br/functiondq 爱问知识人

    编写M文件cdq.m function dy=cdq(x,y) dy=zeros(2,1); dy(1)=y(2); dy(2)=-2*y(2)-y(1) cos(x); 编写M文件cdq1. m f ...

最新文章

  1. elasticsearch的父子_elasticsearch父子关系(官方)实际使用中的一些建议
  2. mysql各种错误提示码和解决方法
  3. android之Activity的生命周期
  4. [No000014A]Linux简介与shell编程
  5. 845芯片组SMM 控制寄存器
  6. 解读2015之大数据篇:大数据的黄金时代
  7. Newtonsoft.Json报错:未能加载文件或程序集...或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配...
  8. DeskFX for Mac(音频增强软件) 适配M1芯片
  9. nosql数据库之Redis概念及基本操作
  10. 电荷为什么不随运动而变化
  11. 使用ESP8266/ESP8285做一个WIFI中继(WiFi信号放大器)
  12. pc电脑上浏览手机网站在线wap浏览器或模拟器软件
  13. 【图像分割】基于模糊聚类算法FCM实现图像分割matlab代码
  14. Python实现自由爆率抽奖小程序
  15. 视频教程-最新完整react教程从入门到精通包教包会-ReactJS
  16. python 学习总结2 多进程与协程
  17. html中bak是什么文件怎么打开,bak文件怎么打开
  18. 世界顶级杀毒软件排名:十二款世界顶级杀毒软件下载!
  19. Ansys 经典界面学习笔记
  20. Ufs测试硬盘的软件,Ufs格式的硬盘在WINDOWS下的读取程序

热门文章

  1. 自适应YouTube视频嵌入
  2. 用python来开发webgame服务端系列
  3. 计算机查看iphone照片,苹果手机上的图片如何在电脑上查看
  4. DeepFace--Facebook的人脸识别
  5. windows系统下itunes的备份路径修改
  6. coding部署博客 + 腾讯云 cdn 踩坑日记
  7. Ajax原生XHR和Promise 学习
  8. 专利审查意见通知书中对比文件对应字母X、Y、A、R、P、E代表的含义
  9. 【学习笔记】Arduino uno r3 控制led灯闪烁
  10. 初学者宝典:C语言入门基础知识大全