m文件
也就是matlab脚本
,很简单,我们先来写一个:
进入matlab,在command window
输入edit
,进入editor:
写一个m文件如下
function f = myfact(n)
f = prod(1:n);
end
点击save
,命名为jiecheng.m
,存一下。
这个程序是用来计算阶乘
的
回到 command window,输入jiecheng(5)
,你会看到返回了5!
这里,m文件中,prod
函数用于求数组元素的乘积。意思是product.
排列数,A(n,m)表示从n个东西内选择m个做排列,计算方法是n! ÷ (n-m)!
,我们写成matlab函数如下:
function f = myfunc(n,m)
f = prod(1:n)/ prod(1:n-m);
end
存成pailie.m
,请自己测试以下这个函数,pailie(5,1)
。
组合数的计算方式是C(n,m) = A(n,m) ÷ m!
请自己编写函数测试一下。
如果你看到了我写的这篇文章,但是不打算去测试一下后面的两个函数。
那么你的性格不适合学习计算机,请转系吧。去一个不需要学习计算机的专业,对你自己会更好。这是我诚恳的建议。
还有一个官方的视频,你可以看看:
Writing a MATLAB Program (4 min, 57 sec)
下面有一些别的函数,你自己试试吧:
function out=c(a, b, theta)
out = sqrt(a.^2+b.^2-2*a.*b.*cos(theta));
%余弦定理计算第三边
你计算:SideThree = c(2, 3, pi/6)
会得到:
SideThree =
1.6148
这里是计算最大公约数的m文件:
function y = gcd(a,b)
% GCD Greatest common divisor
% gcd(a,b) is the greatest common divisor
% of the integers a and b, not both zero.
a = round(abs(a)); b = round(abs(b));
if a == 0 & b == 0
error('The gcd is not defined when both numbers are zero')
else
while b ~= 0
r = rem(a,b);
a = b; b = r;
end
end
你要记住:这里只是一个例子,MATLAB很强大,实际上:你直接gcd(a,b)
即可。
2015年5月4日17:03:32
@kaikai