美文网首页
写一个m文件

写一个m文件

作者: masakakaikai | 来源:发表于2015-05-04 17:03 被阅读130次

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

相关文章

网友评论

      本文标题:写一个m文件

      本文链接:https://www.haomeiwen.com/subject/klcifttx.html