- 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 次以上的多项式方程没有通用的解析解求法;
现考虑下面的多项式方程:
s6+9s5+1354s4+1352s3+121516s2+72916s+72964=0
>> p = [1, 9, 135/4., 135/2., 1215/16., 729/16., 729/64.];>> roots(p) % 数值解>> p1 = poly2sym(p);>> solve(p1) % 解析解