MATLAB自定义函数的五种方法回顾

MATLAB 使用很久了,作为仿真的数学工具,因为容易上手因而没有系统地去学习,接下来陆陆续续更新几篇文章对 MATLAB 的基本用法进行回顾总结。今天回顾 MATLAB 的几种常用的自定义函数的方法。
MATLAB 程序在第一次运行时由于逐句解释运行程序,因此速度比 编译型 的慢,但是 M文件 一经运行就将编译代码放在内存中,再次运行的速度就大大加快了。
M文件 有两种形式:M脚本文件 和 M函数文件,M函数文件 是程序设计的主流,MATLAB本身一系列的工具箱内的各种内部函数是M函数文件,我们可以为实现某有个功能去编写一组 MATLAB函数文件 以组成 工具箱。


1 函数文件+调用函数文件
使用 function 自定义功能函数,保存为.m文件,可以同时定义多个功能函数。注意的地方是保存的函数文件名与调用的函数名称一致。
% 定义功能函数
function    y = myfunction(x,y,z)
% 与function之后定义的赋值变量名一致
y = 2*x+y+z;       
end
% 在主程序中调用定义的函数
clc,clear all,close all;
x = 1; y = 2; z = 3;
hl = myfunction(x,y,z);
2 函数文件+(多个)子函数
可以将一个主函数和这个主函数使用到的多个函数 定义在同一个M文件中,文件名是主函数名。该文件必须是以 function 打头的函数文件,不能前面是函数,后面跟一串函数,前面是命令,后面加函数也是不行的,必须前面也是函数!若前面无参数输入的是一段命令,直接将这些命令定义为一个无参数的函数就可以了。 非嵌套调用举例如下:
function usemyfunArray( )        %主函数必须位于最上方
%子函数举例
max1=find_max(1,20,3)
max2=find_max(7,3,9)

function max=find_max(a,b,c)    %子函数
if (a>=b)&(a>=c)
    max=a;
elseif (b>=a)&(b>=c)
    max=b;
else
    max=c;
end

嵌套调用举例如下:

function mymainfunction( )
a = myfunction1();
function myfunction1()
...
end
end
3 使用内联函数直接定义

使用 inline 命令来定义一个内联函数,举例如下:

mytest = inline('x^2+y','x','y');
z = mytest(2,3)
ans = 7

参考链接:https://blog.csdn.net/cclethe/article/details/77675658


   转载规则


《MATLAB自定义函数的五种方法回顾》 HELLO WORLD 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
win10下ISE14.4无法打开planAhead解决方案 win10下ISE14.4无法打开planAhead解决方案
在 win10 系统下安装 ISE14.7, 目前进行代码编译、综合、实现、生成编程文件都没有问题,但是无法为芯片分配引脚,如图所示: `需要对 rdiArgs.bat 进行替换,具体步骤是:① 打开 ISE14.4 安装目录,……\14.
2021-08-12
下一篇 
论研究生与导师的关系 论研究生与导师的关系
01 经过一年的相处,浅谈我与XXXX大学团队导师的微妙关系。读研究生前,我幻想中的导师是博学多识、谈吐优雅、乐于指导学生的。入学以后整体感觉是大差不差的,但还是太年轻,随着相处的时间变长,与导师的关系已经不是亦师亦友,至少我们团队不是,
2021-07-20
  目录