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