- 2*randn(sz):0 均值,方差为 4(variance),
- standard deviation:标准差为 2;
- numel():returns the # of elements;
- numel(randn(2, 3, 4)) ⇒ 24
fieldnames():获取其成员属性的名字(字符串形式);
s(1,1).name = 'alice'; s(1,1).ID = 0; s(2,1).name = 'gertrude'; s(2,1).ID = 1; s(3, 1).age = 20; fieldnames(s); ans = 'name' 'ID' 'age'
0. meshgrid
meshgrid(获取绘制网格所需的坐标):
- 第一个返回值逐列(列是相同的元素),重复的行数是第二个参数的长度;
- 第二个返回值逐行(行是相同的元素),重复的列数是第一个参数的长度;
- 第一个参数贡献列,第二个参数贡献行树;
- 最终两个返回值的 size 要一致;
>> [x, y] = meshgrid(1:2);
x = [1, 2; 1, 2]; y = [1, 1; 2, 2];
>> [x, y] = meshgrid(1:2, 1:3);
x = [1, 2; 1, 2; 1, 2];
y = [1, 1; 2, 2; 3, 3];
1. trapz
trapezoidal numerical integration:梯形数值积分;
接口如下:
- Q = trapz(Y)
- Q = trapz(X,Y)
Y = [1 4 9 16 25];
Q = trapz(Y)
% int x^2 dx [1, 5]
% 默认的阶梯形的步长为单位步长
X = 0:pi/100:pi;
Y = sin(X);
Q = trapz(X, Y)
% int sin(x) dx [0, pi]
- 该函数恰好可以用来求 AUC(area under curve)的值;
2. fliplr/flipud
- fliplr:flip an array from left to right.
- flipud:flip an array from up to down.
>> A = 1:5;
>> fliplr(A);
5 4 3 2 1
% 当然也可以这样
>> A(end:-1:1)
3. 多项式方程的根
Abel-Ruffini 定理已经有了定论,>= 5 次以上的多项式方程没有通用的解析解求法;
现考虑下面的多项式方程:
>> p = [1, 9, 135/4., 135/2., 1215/16., 729/16., 729/64.];
>> roots(p) % 数值解
>> p1 = poly2sym(p);
>> solve(p1) % 解析解