获取帮助: help / help <函数名> / help win / help desk = doc
找出相关命令: look for <关键字>
类型信息基本型数值型整型无符号uint 8/16/32/64有符号int 8/16/32/64浮点型单精度single双精度double(默认)字符串构造型数组/矩阵只能含有同种类型, 定义[], 访问()元胞可以含有不同类型, 定义{}, 访问{}结构struct 域 field类符号对象常量: 内部定义的 ans, eps( 2 − 52 2^{-52} 2−52), realmax, realmin, pi, version, NaN, mf, i, j, lasterr 可以赋值, 但clear all后恢复默认值
所有变量以数组/矩阵形式保存
变量类型Local函数中定义的, 函数结束即死亡Global在工作空间, clear后死亡(多函数可用)Persistent类似static变量, .m文件中定义使用, clear后死亡who 工作空间变量名
whos 工作空间变量名及其信息
whor <变量名>
clear xxx 删除xxx变量
clc 清除记录
intmax(‘int8’)
intmin(‘int16’)
realmax(‘single’)
realmin(‘double’)
class(xxx) 查看数据类型
round(xxx) 最接近整数
fix(xxx) 向0靠近的整数
floor(xxx) 小于xxx的整数
ceil(xxx) 大于xxx的整数
format short/long/… 替换输出格式
find(x) 返回非零的索引值
虚数: 2-3i (3和i之间不能有空格) / complex(2, -3)
逻辑: 0/1
三元运算数值运算+ - * \ / ^ .+ .- .* .\ ./ .^关系运算== ~= < <= > >= || &&逻辑运算& | ~ any() or() not() all() xor()返回矩阵行列数: size(A)
转置: ’
共轭转置: .’
A(r, c) 取r行c列元素, (r/c=":", 值全部)
A(😃 所有元素排成一列
A(😃 = D(😃 要求D, A元素数量相等, 可保持A行列形式不变替换值
x = [], 清空但不删除x
A(:, 3:4) = [], 删除3, 4列
flipud(x) 沿水平线翻转
fliplr(x) 沿垂直线翻转
reshape(A, 1, 9) 重整行列数
rot90(x) 逆时针旋转90°
det(x) 行列式
rank(x) 秩
inv(x) 逆
trace(x) 迹
eig(x) 特征向量
[U, S, V] = svd(x) SVD奇异值分解
c = ‘B1-%’ c(1)为"B",
char(97)为"B"
num2str(97)为"97"
mat2str()
int2str()
a = [‘I’, ‘Am’; ‘a’, ‘uo’] = [‘IAm’; ‘auo’] 要保证每一行维数相等
strcat('I ', ‘Am’) 为"IAm", 去掉尾空格
length(a) = max(size(a))
isletter()
isspace()
findstr(A, a)
strcmp(A, B)
f = @functionname f可代替函数名
a = f(x, y)
sq = @(x)x.^2 那么sq(5) = 25
a{1} 访问第一个元素
a = {[2, 3; 3, 4], ‘str’; 42, {1}}
a = cell(3, 3)
a{3, 2} = rand(3, 4)
deal(a{:}) 查看内容
a{1, 2} = [] 删除
num2cell()
celldisp(a) 显示域
student(1) 访问第一个
student(1).name = ‘a’
student(2).name = ‘b’
student(1).grade = 4
student(3) = struct(‘name’, ‘c’, ‘grade’, 5)
student.name可访问所有student的name
getfield(student(1), ‘name’)
student = rmfield(student(1), ‘name’)
disp()
fprintf("%d", x)
for i = 1:10 … end
while … end
try … catch … end
if … elseif / else if … end
switch … case … otherwise … end
function ret=name(x) … end
pause(3) 暂停2秒
pause 暂停直到输入
.m文件脚本文件全局变量, 无参, 无返回函数文件local, 有参, 有返回值nargin 实际输入个数
nargin(‘fun’) 标准输入个数
nargout 实际输出个数
nargout(‘fun’) 标准输出个数
inputname(n) 第n个输入的实际名字
varargin 变长输入
varargin(n) 第n个输入
varargout(n) 第n个输出
keyboard 中断, 出现k>>(可debug), 工作区出现local变量
标准断点 红: 有效, 灰: 无效
dbstop in file (at line No.) (命令行) dbstep运行, dbquit 推出debug
dbclear all / in file / in file at line 清除断点
dbstatus
条件断点 dbstop … if … / error / warning
profile on / profile view 分析时间
matlab优化方式: 向量化, 预定义(先声明H=zeros(5, 10000), 再赋值)
m = max(A)
[m, idx] = max(A), 此方式获得idx
max(a, b)
max(A, [], 2) 第2行中最大值
max(A, [], 1) = max(A)
sort(x) 默认升序
mean(x) 或 mean(x, dim)
median(x) 或 median(x, dim)
sum(x) 或 sum(x, dim)
std(x) 标准差
prod(x) 元素乘积
cumsum(x) 元素累和
cumprod(x) 元素累积
corrcoef(x) 相关系数