matlab使用方法大全(收集ing)
1、help命令,格式help+函数名。
局部上:
序号 | 语句 | 含义 |
---|---|---|
(1) | help plot | 二维绘图的帮助 |
(2) | help elfun | 基本函数——初等函数的帮助 |
(3) | help exp | 指数函数的简单帮助 |
(4) | doc exp | 网页格式的帮助 |
(5) | Lookfor | 模糊查询 |
intergral | 模糊查找积分的函数 | |
(6) | Lookfor four | 模糊查找傅里叶级数,补全fourier |
(7) | doc eigs | 求矩阵的特征值和特征向量,已知特征值和特征向量求一下最大模的矩阵 |
(8) | 其他帮助 | 可以在matlab上去搜索相应的pdf帮助文件 |
整体上
序号 | 语句 | 含义 |
---|---|---|
(1) | help+函数名或help+函数类名 | 精确查询 |
(2) | helpwin | 打开帮助窗口 |
(3) | helpwin+函数名 | 精确查询 |
(4) | helpdesk | 打开帮助窗口 |
(5) | doc | 打开帮助窗口 |
(6) | doc+函数名 | 打开帮助窗口, 精确查询 |
(7) | lookfor+关键字 | matlab中的谷歌,模糊查询 |
2、基本使用规则:
序号 | 语句 | 含义 |
---|---|---|
(1) | eps | 在MATLAB编程中,对于除法运算,为了避免分母为零的情况出现,将分母的数与eps相加 |
(2) | 标点 | 输入时,标点必须是英文状态下的 |
(3) | 空格 | 大多数情况下,MATLAB对空格不予处理 |
(4) | 括号 | 小括号代表运算级别,中括号用于生成矩阵,大括号用于构成单元数组 |
(5) | 分号 ; | 有;不显示运算结果的字符,无;就显示运算结果,但对图形窗口不起作用。分号也用于区分行(矩阵) |
(6) | 逗号 , | 函数参数分隔符,也用于区分行,显示运算结果,当然不加标点也显示运算结果 |
(7) | 冒号 : | 多用于数组 |
(8) | 续行号 ... | 不能放在等号后面使用,不能放在变量名中间使用,起作用时默认显蓝色 |
(9) | 双引号 ‘’ | 'string' 是字符串的标识符 |
(10) | 感叹号 ! | 用于调用操作系统运算 |
(11) | 百分号 % | 是注释符号,对于百分号后面直到行末的语句,matlab跳过执行。另外还可用于代码块注释,即对多行代码一次注释, 格式为:(注意%{ 和%}都要单独成行) |
3、变量名:任意字母数字下划线组成,开头必须为字母,区分大小写,变量字符间不能留空格。
常见变量名 | 含义 |
---|---|
ans | 储存结果(结果缺少变量名时) |
pi | 圆周率 3.1416 |
eps | 浮点相对精度 |
inf | 无穷大 1/0 |
NaN | 不定量 0/0 |
margin | 检测生产的函数的输入的变量个数 |
nargout | 所用函数输出的变量的个数 |
realmin(realmax) | 最小(大)可用实数 |
check =a | 检查a的值 |
whos | 查找所有的变量以及所占的空间 |
4、常用的命令
语句 | 含义 | |
---|---|---|
clc | 命令窗口中清除所有代码 | |
clear command | 清屏 | |
clf | 清理图形窗口 | ---- |
clear figure | 清理关闭figure窗口 | |
close | 关闭最近的figure窗口 | |
close all | 关闭所有figure窗口 | |
clear | 清理工作空间(workspace)中的所有变量 | |
clear x; | 清理一个变量x | |
clear+变量名 | 清理工作空间中的指定变量(如果是多个变量,用空格隔开) | ---- |
edit+函数名 | 查看或编辑源文件 | |
who | 显示工作空间中的所有变量名(仅展示出变量的名字) | |
whos | 显示工作空间中的所有变量名及其属性(大小、字节数、数据类型,等等) | ---- |
which+函数名 | 证实该函数是否在当前路径 | |
what | 列出当前路径的所有matlab文件 | |
load | 加载外部文件 | ---- |
save | 存变量到外部文件。如果save后面没有任何东西,则默认将工作空间中的所有变量保存在文件matlab.mat中 | |
save 文件名 | 指定变量列表——将指定变量保存在文件中(其中文件名不需要用单引号括起来,文件名的 .mat 后缀也可省略) | |
save var2 x y ; | 将变量x和y保存在文件var2.mat中 | |
save( 'var2', 'x', 'y' ); | 功能与 save var2 x y ; 相同 |
5、矩阵的输入:
(1)输入矩阵时a=[ ]元素之间用空格或者是逗号分开 用分号换行或者是回车换行
(2)t=[1:0.1:10] 产生从1到10的步长为0,1的行矩阵
(3)t=linspace(n1,n2,n) 产生从n1到n2的n个等差数列
diff(t) ——求差分(求元素之间的间隔) fortmat short long 浮点精度
(4)t=logspace(n1,n2,n)在10n1~10n2之间生产n个数 ——等比数列
(5)t(2:end). /t(1:end-1) ——可以借此完成错位相除
(6)特殊的矩阵
1)单位阵(eye(m)、eye(m,n)——出现最大单位阵其余部分为0、eye(size(a)) )
2)所有元素都为1的矩阵:Ones(n)、ones(m, n)ones(sizes(a))
3)所有元素都为零的矩阵:Zeros(n) zeros(m,n)zeros(sizes(a))
4)空矩阵 q=[ ]不占空间 a(:,3)=[ ]表示删除第三列(a(3,:)=[ ] 删除第3行) 同时也可以用来记录数据
5)随机数矩阵——用于验证模型:
rand(m,n) 产生m×n矩阵,其中的元素是[0,1]上均匀分布的随机数。
normrnd(mu,sigma,m,n) 产生m×n矩阵,其中的元素均值为mu,标准差为sigma的正态分布的随机数。(mvnrnd——多维)
exprnd(mu,m,n) 产生m×n矩阵,其中的元素是服从均值为mu的指数分布的随机数。
poissrnd(mu,m,n) 产生m×n矩阵,其中的元素是服从均值为mu的泊松(Poisson)分布的随机数。
unifrnd(a,b,m,n) 产生m×n矩阵,其中的元素是服从区间[a,b]上均匀分布的随机数。
6)求全排列:
randperm(n)产生1到n的一个随机全排列。
perms([1:n])产生1到n的所有全排列。
6、冒号运算符构造向量:
格式:向量名:a🅱️c(初值:步长:终值),从a以b为间隔取值到c。若形式为“a:c”代表间隔为1。
7、矩阵的运算,MATLAB是基于矩阵运算的,一个数便是1×1的矩阵
例:x = [1:3]; x=[1:3]'(转置符号)
复制 repmat(a,3 ,1)将a的行复制三遍列复制一遍——写代码的时候哟多注意,避免出错
8、冒号来构造矩阵:
9、提取矩阵的元素:
A(2,3):A矩阵第二行第三列数值;
A(1,:):第一行数;
A(2:3,4:5):第二行到三行,四到五列;
A(1:2:4,:):以2为间隔,1,3行数
矩阵的替换:
B=[1 2 3 ;4 5 6; 7 8 9];
B(2,2)=1 B=[1 2 3 ; 4 1 6; 7 8 9]
B(2,:)=[ ] B=[1 2 3; 7 8 9]
10、MATLAB常用函数
flipud():实现对矩阵的上下翻转
对于一行一列矩阵,sum(A),max(A),min(A)便是求这一列的对应数值;
而对于多行多列时,sum(A),max(A),min(A)是对矩阵A列的运算;
sum(A,2)默认行求和; sum(A,1)等价sum(A);
max(A,2)矩阵和2进行比较,min(A,[ ],2)行内进行比较;
max和min用法相同;min(A,[ ],1)等价于min(A)
11、常见运算:注意乘号使用,我们一般使用的时.*。注意点乘和点除与乘和除的区别
12、关系运算符
符号 | 含义 | |
---|---|---|
== | 等号 | |
~= | 不等号 | |
<= | 小于等于 | ---- |
>= | 大于等于 |
13、逻辑运算:
& 逻辑与; | 逻辑或; ~ 逻辑非; xor 异或; any 有非零元则为真; all 所有元素非零则为真。
14、常用语句
1、if语句:
注意:&和&&都表示逻辑与,两者区别:(1)&适用于矩阵间的逻辑运算,&&不适用,只适用于单个元素;(2)比如 A&B/A&&B,&需要同时验证AB,而A为真时&&不需要验证B,运算量比较大的时候,&&节省时间。
2、循环结构
(1)for 循环
%for 循环变量 = a:b:c(初值:步长:终值)
% 循环体语句
%end
%计算10以内的奇数和:
tot = 0;
for i=1:10
if mod(i,2)%取模,求余数
tot =tot+i;
end
end
(2)while循环
% while 条件
% 循环体语句
% end
% 后数等于前两数之和
f = [1 1];i=1;
while f(i+1)<=1000,
f(i+2)=f(i)+f(i+1);
i=i+1;
end
f
15、时间函数:
序号 | 语句 | 含义 |
---|---|---|
(1) | t = datetime | 返回对应于当前日期和时间的标量datetime数组 |
(2) | t = datetime(relativeDay) | 使用由relativeDay指定的日期。 相对天数输入可以是'今天','明天','昨天'或'现在' |
(3) | t = datetime(DateStrings) | 根据代表时间点的DateStrings中的文本创建一个datetime值数组 |
(4) | t = datetime(DateStrings,'InputFormat',infmt) | 使用infmt指定的格式解释日期字符串。 DateStrings中的所有值都必须具有相同的格式 |
(5) | t = datetime(DateVectors) | 从DateVectors中的日期向量创建日期时间值的列向量 |
(6) | t=datetime(Y,M,D) | 为Y,M和D(年,月,日)数组的对应元素创建日期时间值数组,数组的大小必须相同(或任何一个都可以是标量),可以将输入参数指定为日期向量[Y,M,D] |
(7) | t=datetime(Y,M,D,H,MI,S) | 为Y,M,D,H,MI和S(年,月,日,时,分和秒)数组的对应元素创建一个datetime值数组,数组的大小必须相同(或任何一个都可以是标量),可以将输入参数指定为日期向量[Y,M,D,H,MI,S] |
(8) | t=datetime(Y,M,D,H,MI,S,MS) | 为Y,M,D,H,MI,S和MS(年,月,日,小时,分钟,秒和毫秒)数组的对应元素创建一个datetime值数组,数组的大小必须相同(或任何一个都可以是标量) |
(9) | t=datetime(X,'ConvertFrom',dateType) | 将X中的数值转换为datetime数组为,dataType参数指定X中值的类型 |
2、字符串中的日期和时间
从两个字符串的单元格数组创建一个datetime数组。
DateStrings = {'2021-01-25';'2020-12-31'};
t = datetime(DateStrings,'InputFormat','yyyy-MM-dd')
t中的日期时间值使用默认格式显示,而不使用输入日期字符串的格式显示。
3、根据年,月和日值的各个数组创建日期时间数组。
创建包含年份值Y和日期值D的示例数字数组。在这种情况下,月份值M是标量。
% Create sample numeric arrays of year values Y and day values D. In this case, the month value M is a scalar.
Y = [2014;2013;2012];
M = 01;
D = [31;30;31];
% Create the datetime array.
t = datetime(Y,M,D)
% Specify a custom display format for the output, using the Format name-value pair argument.
t = datetime(Y,M,D,'Format','eeee, MMMM d, y
16. 其他需要注意的点
- 乘号 * 总是不能省略的,除了表示复数,比如2+3i时可以省略
- 除号有 / 或 \ ,它两个的关系是:a除以b表示为a/b,或 b\a
- 等号 = 用于赋值
- 双等号 == 表示数学意义上的等号
- 主窗口(命令行窗口)(Command Window)里面,输入时,换行用Shift+Enter
- 主窗口(Command Window)里面,运行程序,执行命令用Enter
- 矩阵中用圆括号表示下标,单元数组(cell)用大括号表示下标
- 函数式M文件的文件名,在MATLAB主窗口下不区分大小写,
函数式M文件中,变量都是局部变量
脚本式M文件中,变量都是全局变量 - MATLAB搜索路径:
MATLAB通过搜索路径来查找M文件。因此,MATLAB的系统文件、Toolboxes工具箱函数、用户自己编写的M文件等都应该保存在搜索路径中。当用户输入一个标识符(例如Value)时,MATLAB按下列步骤处理:
(1)检查 Value 是否为变量
(2)检查 Value 是否为内部函数
(3)在当前的工作目录下是否存在 Value.m 文件
(4)在MATLAB搜索路径中是否存在 Value.m 文件
如果在搜索路径中存在多个 Value.m 文件,则只执行第一个 Value.m 文件;如果找不到这一文件,则报错。