美文网首页
写一个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