网课学习笔记,非matlab官方教程(官方一个教程几千块大洋,学生党吃不消)
小朋友,你学会了吗?
教程01中包含以下内容
设置文件路径
工作界面识别
帮助
基本使用
编程基础
程序控制结构
设置文件路径
一般情况下,用户自定义保存的文件不在matlab文件搜索范围内,经常会出现这样的提示
在主页中包含设置路径选项,手动调整后就可以避免运行出现上面的警告
例如这样,我就添加了一个d盘matlab personal doc文件夹作为搜索路径,保存在此路径下的文件运行就不会出现之前的警告。
工作界面识别
菜单工具栏
包含主页标签、绘图标签、app标签
命令行窗口
用于输出matlab的指令、函数、表达式等
》是matlab的运算提示符
当前文件路径
工作区
当前内存中所有的变量内容
帮助
帮助真的是一个很好用的东西,函数或者其他的什么不太懂的或者记不清的直接在帮助界面搜索即可。(另外,函数没记住用法也可以在命令行窗口输入 doc 函数名 运行就可以跳到该函数的帮助界面[这玩意叫疑难解答,可能在函数方面写的比帮助能更详细一点?])
帮助按钮
在此处可以设置帮助为中文(有些文档依旧是英文,可能没完全翻译完吧,大概)
帮助界面
基本使用
详细用法边用边学。
数据类型
matlab中包括 数值 逻辑 字符串 单元数组 结构体 日期 这些数据类型
运算符
matlab中包括 算数运算符 关系运算符 逻辑运算符
标点
matlab中一类比较特殊的符号包括 ; , :
m文件
.m文件,是ASCII码文件,是一种程序化文件。它包括脚本文件和函数文件。
脚本文件包含多条matlab命令。函数文件包含输入变量,计算并将结果输出等。两者主要差别在于函数文件有输入输出,且在使用前要声明。
tips
如果编写了一个函数文件,最好保存的时候文件名与函数名一致。推荐使用驼峰法。
注释符是 % 如果想跳过一段程序执行,那么可以选中该段再 ctrl+r(也可以使用if语句,在头部加if,在尾部加end。只需将if始终为0即可跳过该段)
自动对齐程序可以使用 ctrl + i,便于整理格式,查找错误。
编程基础
.m文件
首先是一个脚本文件:
运行程序效果
这是一个函数文件
作用使对输入求取平均值再输出结果
它有输入输出。另外函数文件不能直接运行,是经过调用才可以使用。
在命令运行窗口设定输入值,调用函数。
加载文件
选择浏览文件夹选项,可以在左侧直接显示你选择的文件夹下内容,这样便于在各脚本间切换。
自定义选项
在主页的预设选项中,可以调整字体,颜色等等选项。
变量
变量分为:局部变量 全局变量 永久变量
介绍两组函数 nargin nargout 和 varargin varargout
nargin确定输入变量个数
nargout确定输出变量个数
写一个如下的函数
检测输入变量个数,一个c就等于a的平方,两个c就等于a+b
两种情况输出如下:
varargin和varargout本来有实例的,但是视频中没明确给出实例内容,此处参考matlab的帮助文档对这两个函数进行解释。
varargin 是函数定义语句中的一个输入变量,允许函数接受任意数量的输入参数。使用小写字符指定 varargin,将其作为最后一个输入参数附加在任何显式声明的输入项后。在执行函数时,varargin 是一个 1×N 元胞数组,其中 N 是函数在显式声明的输入后收到的输入项数。但是,如果该函数在显式声明的输入后未收到任何输入,则 varargin 是空元胞数组。
varargout 是函数定义语句中的一个输出变量,允许函数返回任意数量的输出参数。使用小写字符指定 varargout,将其作为最后一个输出参数附加在任何显式声明的输出后。在执行此函数时,varargout 是一个 1×N 元胞数组,其中 N 是显式声明的输出结果后请求的输出数量。
实例实际上也是利用这个函数进行输入变量个数的判断,然后决定程序如何运行。
子函数
在主函数内部再添加子函数,进行调用。子函数只能在这个文件内部调用。
程序控制结构
帮助文档真香
条件控制(if语句 switch语句)
if
判断第一个expression如果为真,执行statements。(否则进入elseif,如果第二个expression为真,执行第二个statements,否则执行第三个statements)
switch
switch_expression等于对应的case_expression则执行下方的statements,如果都不符合则执行最后一个statements。
循环控制(for语句 while语句)
for
index是一个变量,values有如下三种表达方式
initVal:endVal变量从 initVal 至 endVal 按 1 递增,重复执行 statements 直到 index 大于 endVal。
initVal:step:endVal每次按值 step 长对 index 进行增加(正就是加,负就是减),知道大于(小于)endVal
valArray 每次迭代时从数组 valArray 的后续列创建列向量 index。例如,在第一次迭代时,index = valArray(:,1)。循环最多执行 n 次,其中 n 是 valArray 的列数,由 numel(valArray(1,:)) 给定。输入 valArray 可属于任何 MATLAB® 数据类型,包括字符向量、元胞数组或结构体。就是说次数可以是一个变量。
while
expression为 true 时在一个循环中重复执行statements。表达式的结果非空并且仅包含非零元素(逻辑值或实数值)时,该表达式为 true。否则,表达式为 false。
误差控制(try语句)
执行try下面的内容,如果发生错误就执行catch的内容处理错误。
exception 是 MException 对象,您可以用它来标识错误。catch 块将当前异常对象分配给 exception 中的变量。try 和 catch 块都可包含嵌套的 try/catch 语句。
其他(continue break echo return error)
continue
continue 将控制权传递到 for 或 while 循环的下一迭代。仅结束此次循环它跳过当前迭代的循环体中剩余的任何语句。程序继续从下一迭代执行。continue 仅在调用它的循环的主体中起作用。在嵌套循环中,continue 仅跳过循环所发生的循环体内的剩余语句。
break
break 终止执行 for 或 while 循环。不执行循环中在 break 语句之后显示的语句。在嵌套循环中,break 仅从它所发生的循环中退出。控制传递给该循环的 end 之后的语句。
echo
在函数执行期间显示语句。
echo 命令控制如何在函数执行期间显示(或回显)函数中的语句。通常,函数文件中的语句在执行期间不会显示在屏幕上。命令回显对调试或演示非常有用,允许在命令执行时查看命令。
echo 命令对脚本文件和函数文件的表现稍有不同。对于脚本文件,echo 的用法很简单;回显可以设为 on 或 off,将应用于任何使用的脚本。
echo on 在所有脚本文件中启用命令回显。
echo off 在所有脚本文件中禁用命令回显。
echo 切换回显状态。对脚本或函数文件启用回显时,文件中的每行都会在执行时显示。由于这会导致执行效率低下,请仅对调试使用 echo。
echo fcnname on 在指定函数文件中启用回显。
echo fcnname off 在指定函数文件中禁用回显。
echo fcnname 切换指定函数文件的回显状态。
echo on all 对所有函数文件启用回显。
echo off all 对所有函数文件禁用回显。
感觉绝大多数情况下应该用不到这个语句。
return
将控制权返回给调用函数,好像很多时候都是在防止出错而在后面添加的一句话。在条件块(例如 if 或 switch)或循环控制语句(例如 for 或 while)使用 return 时需要小心。当 MATLAB 到达 return 语句时,它并不仅是退出循环,还退出脚本或函数,并将控制权返回给调用函数或命令提示符。
error
引发错误并显示消息。
error(msg) 引发错误并显示错误消息。
error(msg,A1,…,An) 显示一条错误消息,其中包含格式设置转换字符,例如随 MATLAB® sprintf 函数一起使用的字符。msg 中的每个转换字符都会转换为 A1,…,An 中的一个值。
error(msgID,___) 包含此异常中的错误标识符。此标识符可用于区分错误,它还允许您控制在 MATLAB 遇到错误时系统做何反应。您可以包括先前语法中的任何输入参数。
好像也用不到……