MATLAB之最干货(四)——内置函数
到这里,我要分享的内容部分已经过半,今天,我带来的是MATLAB中的内置函数部分,肘子~~
一. 多项式
1. 创建
p = [1,2,3,4]; % 系数向量,按x降幂排列,最右边是常数
f1 = poly2str(p,'x'); % 生成好看的字符串 f1 = x^3 + 2 x^2 + 3 x + 4,不被认可的运算式
f2 = poly2sym(p); % 生成可用的符号函数 f2 = x^3 + 2*x^2 + 3*x + 4
2. 求值
x = 4;
y1 = poly2val(p,x); % 代入求值;若x1为矩阵,则对每个值单独求值
3. 求根
r = roots(p);
p0 = ploy(r); % 由根求系数,结果为系数矩阵
二. 数据插值
1. 一维插值 — %yi = interp1(X, Y, xi, ‘method’)
X = [-3,-1,0,1,3];
Y = [9,1,0,1,9]; % XY为已知横纵坐标向量
y2 = interp1(X,Y,2); % 差值预估在x=2的y的值,x不能超过已知范围(此处x<3)
y2m = interp1(X,Y,2,'spline'); %用spline方法(三次样条)差值预估在x = 2 的 y 的值
2. 二维插值 —%zi = interp1(X, Y, Z, xi, yi, ‘method’)
三. 数据统计
1. 准备数据
> X = [2, 3, 9, 15, 6, 7, 4];
> A = [1, 7, 2; 9, 5, 3; 8, 4 ,6];
> B = [1, 7, 3; 9, 5, 3; 8, 4 ,6];
2. 数据统计
(1)矩阵的最大值,最小值
y = max(X); % 求矩阵X的最大值 min同理
[y,k] = max (X); % 求最大值, k为该值的角标
[y,k] = max (A,[],2); % A是矩阵,'2'时返回y每一行最大元素构成的列向量,k元素所在列; '1'时同理
(2)均值与中值
y = mean (X); % 均值
y = median (X); % 中值
y = mean (A,2); % '2'时返回y每一行均值构成的列向量;'1'时同理
y = median(A,2); % '2'时返回y每一行中值构成的列向量;'1'时同理
(3)排序
y = sort(A,1,'ascend'); % sort(矩阵, dim, 'method')dim为1按列排序,2按行排序;ascend升序,descend降序
[Y, I] = sort(A, 1, 'ascend'); % I保留了元素之前在A的位置
(4)求和,求积, 累加,累乘
y = sum (X); %求和
y = prod(X); %求积
y = cumsum(X); %累加
y = cumprod(X); %累乘
四.数值计算
1. 最(极)值
多元函数在给定初值附近找最小值点
x = fminsearch(fun, x0);
函数零点
x = fzero(fun, x0); % 在给定初值x0附近找零点
到这儿这一小节就结束了,大家看不懂的地方一定要去matlab上进行验证,有的东西确实比较抽象,但是执行出的结果会非常的直观,可以帮助大家更好的理解。
拜拜~~~