• Matlab——程序设计


    M文件

     我们之前所做的运算————> 算式不太长,或想以交谈式方式进行运算

    如果算式很长或是需要一再执行的算式————> 采用M文件的方式

    【将指令及算式写成巨集程式然后储存成一个特别的文档,其扩展名是m】

     编辑并运行M文件脚本的步骤

    1. 新建脚本

    2.输入程序

    x=linspace(0,2*pi,20);
    y=sin(x);
    plot(x,y,'r+')
    title('2D plot')

    3.保存+命名

    ctrl+s 保存

     4.运行【使xxx.m成为当前目录(系统默认路径),或该目录在MATLAB的搜索路径上————> 点击运行图标后,点击“添加到路径”即可】

    运行时,可以直接点击上方图标,也可以在命令行窗口键入"xxx"

     

     实例:计算一个球的体积,保存为area.m

    r = input('Type radius 输入半径:');
    Area=pi*r^2;
    volume=(4/3)*pi*r^3;
    fprintf('半径 The radius is %12.5f
    ',r)
    fprintf('面积 The area of a circle is %12.5f
    ',Area)
    fprintf('体积 The volume of a sphere is %12.5f
    ',volume)

     

     M文件函数

     

    funl.m文件

    function Y = funl(x)
    Y = (x^3 - 2.*x^2 +x - 6.3) / (x^2 + 0.05*x - 3.14);

    命令行窗口:
    funl(1)*funl(2)+funl(3)*funl(3)

     例:计算阶乘函数 fact.m

    function output = fact(n)
    if n == 1
    output = 1;
    return;
    end
    output = n*fact(n-1);

     控制流

     

    >> for i = 1:10
    x(i) = i;
    end
    >> x

    x =

    1 至 9 列

    1 2 3 4 5 6 7 8 9

    10 列

    10

    >> for i = 1:3
    i
    end
    
    i =
    
         1
    
    
    i =
    
         2
    
    
    i =
    
         3

     

    >> n=0:1:10;
    for i =1:11
    for j = 1:11
    y(i) = sin(n(i));
    n(j) = n(j) * 10;
    end
    end
    >> y
    
    y =
    
      150   -0.5064    0.9300   -0.8027   -0.1425
    
      610-0.9765   -0.5118    0.8586   -0.9957    0.9917
    
      11150.9287   -0.4759   -0.7357   -0.9158   -0.9966
    
      1620-0.9694   -0.8372   -0.6142   -0.3247   -0.0000
    
    >> n
    
    n =
    
       1.0e+12 *
    
      150    0.1000    0.2000    0.3000    0.4000
    
      6100.5000    0.6000    0.7000    0.8000    0.9000
    
      111.0000
    y & n

    >> num =0;EPS=1;
    >> while(1+EPS)>1
    EPS = EPS/2;
    num = num +1;
    end
    >> num
    
    num =
    
        53
    
    >> EPS
    
    EPS =
    
       1.1102e-16
    >> x = zeros(1,6);%x是一个1*6的0矩阵
    >> i = 1;
    >> while i <= 6
    x(i) = 1/i;
    i = i +1;
    end
    >> x
    
    x =
    
      151.0000    0.5000    0.3333    0.2500    0.2000
    
      60.1667

     

     

    >> a(1) = 1;a(2) = 1;i=2;
    >> while a(i) <= 10000
    a(i+1) = a(i-1)+a(i);
    i = i+1;
    end
    >> i
    
    i =
    
        21
    
    >> a(i)
    
    ans =
    
           10946

     

    >> a = 2;
    >> if a>1
    a = a+1;
    end
    >> a
    
    a =
    
         3

    ----------------------------------------------------

     

    ----------------------------------------------------

     

    >> n = 100;a = ones(1,n);
    >> for i = 3:n
    a(i) = a(i-1)+a(i-2);
    if a(i) >= 10000
    a(i),
    break;
    end;
    end,
    
    ans =
    
           10946
    
    >> i
    
    i =
    
        21

     输入输出语句

     

    错误消息显示命令

     

  • 相关阅读:
    产品方法论
    elastic search语句
    计算机科学发展的动力
    理论计算机科学学习网站
    算法学习 howto
    人工智能和机器学习 AI&ML howto
    Deep Learning 和 Knowledge Graph howto
    LISP语言学习资源
    Turing Year 2012
    如何做好计算机科学研究
  • 原文地址:https://www.cnblogs.com/expedition/p/10888174.html
Copyright © 2020-2023  润新知