Matlab(3)结构化程序与自定义函数

一、MATLAB SCRIPT

1. 定义

A file containing a series of MATLAB commands
need to be saved to a .m file before they can be run

2. 技巧

  • F5 运行script
  • fx查看函数名称
    Matlab(3)结构化程序与自定义函数_第1张图片
  • 百分比符号%表示注解,也可以使用工具栏的注解按钮
  • 两个百分比%%表示section(分节),可以分节运行
    Matlab(3)结构化程序与自定义函数_第2张图片
  • debug
    Matlab(3)结构化程序与自定义函数_第3张图片
    debug过程中可以用鼠标靠近变量观察值
  • 全选右键可以选择“智能缩进(smart indent)”

二、Structured programming

1. Flow Control

都需要配合end语句

  • if,elseif,else
    Matlab(3)结构化程序与自定义函数_第4张图片
    condition 是条件、statement是动作
    example
    Matlab(3)结构化程序与自定义函数_第5张图片
    rem(m,n)求m/n的余数(remaind)
    disp是展示(display)

  • for
    Matlab(3)结构化程序与自定义函数_第6张图片
    注意清除变量中的原数据

  • switch,case
    Matlab(3)结构化程序与自定义函数_第7张图片

  • otherwise

  • try,catch

  • while
    Matlab(3)结构化程序与自定义函数_第8张图片
    (1:n)表示产生一个(1,2,3,4,5…n)的向量
    prod:
    在这里插入图片描述
    prod(1:n)即n的阶乘
    1e100即科学计数法10100
    prod(1:n <1e100)就是n的阶乘小于10100
    注意如果这段程序本身无输出,可以令输出n查看结果,或者加一句disp语句

example
Matlab(3)结构化程序与自定义函数_第9张图片

  • break
  • continue
  • end
  • pause
  • return

2. Relational (Logical) Operators(1—true;0—false)

  • <
  • <=
  • >
  • >=
  • ==(=号是赋值,==号是判断是否相等)
  • ~=(Not equal to)
  • || (Or )
  • &&(And)

3. pre-allocatingf Space to Variables

预宣告变量长度,因为matlab默认是自动变长
Matlab(3)结构化程序与自定义函数_第10张图片
B首先将A定义为2000*2000的零矩阵
tic-toc是用来计时的

4. Tips

在程序开始前,用:

  • clear all 清除先前的变量
  • close all 关闭所有图像
  • …可以换行Matlab(3)结构化程序与自定义函数_第11张图片
  • Ctrl+C 强行宕机
    执行过程中左下角会显示busy

三、User-defined function

1. Scripts VS. Functions

Matlab(3)结构化程序与自定义函数_第12张图片

Matlab(3)结构化程序与自定义函数_第13张图片

edit(which(‘mean.m’)) 查看mean的源码

结构:

Matlab(3)结构化程序与自定义函数_第14张图片
Example
Matlab(3)结构化程序与自定义函数_第15张图片
注意这些方法是定义在以方法名为文件名的.m文件中,然后在主程序中直接调用
另外使用方法时是可以同时计算多组数据的,如:
Matlab(3)结构化程序与自定义函数_第16张图片
因为freebody中计算使用的是.*,所以这里就会分别计算两组的结果,同理在定义其他方法时也要注意使用"."
Example
Matlab(3)结构化程序与自定义函数_第17张图片

2. Function Default Variables

Matlab(3)结构化程序与自定义函数_第18张图片
也就是如果输入的变量未达到函数所需要的变量的个数时,指定一些变量的默认值

另外也可以使用f=functionxx 达到为某函数重新命名,这样在下面调用该函数时可以直接使用f调用。

你可能感兴趣的:(Matlab)