其实,我们大家学过matlab都知道,构造一个函数简单的方式有很多。不过值得一提还是在同一个文件中的构造方式,函数重要的还是思想的理解。
我认为思想学会了,基本上都会编程,我们可以来看看这个例子:
x = 6;
y = 3;
z = perm(x,y)
s = fact(6)
function p = perm(n,r)
p = fact(n)*fact(n-r); %阶乘
end
function f = fact(n)
f = prod(1:n);%
end
不用在终端输入命令运行,点击执行结果:
z =
4320
s =
720
但是当我们把实列放在后面的时候就出现问题:
function p = perm(n,r)
p = fact(n)*fact(n-r);
end
function f = fact(n)
f = prod(1:n);
end
x = 6;
y = 3;
z = perm(x,y)
s = fact(6)
执行结果:
错误: 文件: twofunction.m 行: 10 列: 1
该语句不在任何函数内。
(它在终止函数 "fact" 定义的 END 之后。)
不过这种错误在C中却不会出现问题,这或许是matlab与C不同处之一吧。不过matlab也是C发明的,只不过预装了很多库函数而已。
网友评论