matlab编程之函数入门的用法

一般函数

1、函数名称要与.m文件要一致,不然会报错
maxv.m not found.

2、编写好函数以后,在控制台,输入help 文件名

function a=maxv(x,y,z)
a = x;
if(y > a)
    a=y;
end
if(z > a)
    a=z;
end


3、输入函数名(参数)就可以了

matlab编程之函数入门的用法_第1张图片

 

匿名函数

格式如下

f = @(arglist)expression

val=@(a,b,c) a+b+c;
a=val(3,6,7)
b=val(13,6,7)

记住,如果你的函数更改了,记得重新help 文件名一下,不然报错

matlab编程之函数入门的用法_第2张图片
 

matlab编程之函数入门的用法_第3张图片 

如果把val(3,6,7) 与val(13,6,7)写在命令行,如同上面的函数一样,会怎么样

matlab编程之函数入门的用法_第4张图片

会报错!

匿名函数与普通函数的区别在于:

1、写法不同

2、匿名函数的调用必须在文件里面,而其他函数的调用必须在控制行

 


主函数与子函数

主函数与子函数的都是function函数,那为什么需要一个主一个次呢?我需要这个文件里面的函数直接调用不久可以了么?

我现在在一个.m文件里面写两个函数,然后在控制台分别调用看看

function m=demo(a,b,c)
%求最大值与最小值的差
%先求最大值
h=max(a,b,c);
%求最小值
y=min(a,b,c);
m=h-y
end

%先求最大值
function x=max(a,b,c)
x=a;
if(b>x)
    x=b;
end
if(c>x)
    x=c;
end    
end

%求最小值
function y=min(a,b,c)
y=a;
if(b

matlab编程之函数入门的用法_第5张图片

当我调用min函数的时候报错,因为只能调用与.m文件名称一致的函数也就是demo函数;

所有与文件名一致的函数是主函数,其他的函数是子函数,子函数存在的意义就是被主函数调用;


嵌套函数
 

嵌套函数的意思就是子函数写在主函数里面;

function m=demo(a,b,c)
%求最大值与最小值的差
%先求最大值
%先求最大值
function max
x=a;
if(b>x)
    x=b;
end
if(c>x)
    x=c;
end  
x
end

max;

%求最小值
function min
y=a;
if(b

1、function 函数名  就可以了,后面不用跟=(参数列表)

2、函数必须结尾以end结尾 ,无论是里面还是最外面的函数

3、里面的函数写完,需要在后面调用一下,就是函数名;就可以了

matlab编程之函数入门的用法_第6张图片

全局变量

比较无语的是,虽然是全局变量,但是在其他函数里面也必须申明一下!

function m=demo()
global p;
maxc();
m=p+2
end

function y=maxc()
global p;
p=p*2+1;
y=p;
end

matlab编程之函数入门的用法_第7张图片

 

你可能感兴趣的:(MATLIB)