配色
【2.1.1 颜色模板】科研绘图必备的60套颜色模板 - 知乎 (zhihu.com)
数值积分
integral(func, 积分下界, 积分上界) % func是函数句柄
函数句柄
理解:类似于c中的指针函数。它的使用更符合我们一般的理解。具体原理不用深究。
函数句柄的创建
三种方法:
% handle_test.m
function y = handle_test(x)
y = sin(x);
end
%直接在函数名前面加'@'
func = @handle_test;
func(pi/2)
% 使用str2func
func1 = str2func('handle_test'); % 作用和加了一个@一样
func1(pi/2)
% 直接创建匿名函数。elegant!
% 匿名函数语法:func = @(自变量列表) 表达式
func2 = @(x,y) x.^2 + y.^2;
func2(3,4)
符号运算
声明一个符号变量:
x = sym(1) % x是符号变量,值是1
x = sym('x') % x的值是x
x = sym('a') % x的值是a
声明多个符号变量:
syms a b c
符号函数:
syms y(t)
syms y(x) [3,1] % 向量函数{y1(x), y2(x), y3(x)},注意空格
符号四则运算这里就不说了,和正常写表达式一样。介绍一下几个可能用到的符号计算函数:
limit(f,x,a) % 求函数f关于变量x在a点的极限
limit(f,x,a,'left/right') %求函数f关于变量x在a点的左右极限
diff(f,x,n) % 求f关于变量x的n阶导数,一元函数x可省略,一阶导数n可省略
int(f,x) % 求f关于x的不定积分
int(f,x,a,b) % 求f关于x在[a,b]上的定积分
fminbnd:查找单变量函数在定区间上的最小值
[x,fval] = fminbnd(fun,x1,x2,options); % fun取负即求最大值
% x:最小值对应横坐标
% fval:最小值
% fun:函数句柄
% x1,x2: 查找区间
% options:可用optimset设置的选项
随机数生成函数汇总
rand:
X = rand 返回一个在区间 (0,1) 内均匀分布的随机数。
X = rand(n) 返回一个 n×n 的随机数矩阵。
X = rand(sz1,...,szN) 返回由随机数组成的 sz1×...×szN 数组,其中 sz1,...,szN 指示每个维度的大小。例如:rand(3,4) 返回一个 3×4 的矩阵。
randi:
X = randi(imax) 返回一个介于 1 和 imax 之间的伪随机整数标量。
X = randi(imax,n) 返回 n×n 矩阵,其中包含从区间 [1,imax] 的均匀离散分布中得到的伪随机整数。
X = randi(imax,sz1,...,szN) 返回 sz1×...×szN 数组,其中 sz1,...,szN 指示每个维度的大小。例如,randi(10,3,4) 返回一个由介于 1 和 10 之间的伪随机整数组成的 3×4 数组。
% imax可以用[a,b]表示范围
randn:
X = randn 返回一个从标准正态分布中得到的随机标量。
X = randn(n) 返回由正态分布的随机数组成的 n×n 矩阵。
X = randn(sz1,...,szN) 返回由随机数组成的 sz1×...×szN 数组,其中 sz1,...,szN 指示每个维度的大小。例如:randn(3,4) 返回一个 3×4 的矩阵。
% tip: X~N(0,1)
r = randn(5)
r = 5×5
0.5377 -1.3077 -1.3499 -0.2050 0.6715
1.8339 -0.4336 3.0349 -0.1241 -1.2075
-2.2588 0.3426 0.7254 1.4897 0.7172
0.8622 3.5784 -0.0631 1.4090 1.6302
0.3188 2.7694 0.7147 1.4172 0.4889
randperm:
p = randperm(n) 返回行向量,其中包含从 1 到 n 没有重复元素的整数随机排列。
p = randperm(n,k) 返回行向量,其中包含在 1 到 n 之间随机选择的 k 个唯一整数。
r1 = randperm(8,4)
r1 = 1×4
6 4 7 3
矩阵操作
x = x(:) % 将x按列排成一个列向量