本文学习视频地址:https://www.bilibili.com/video/av68228488?p=10
课堂PPT以及本人学习代码已上传。
本文学习内容:
多项式的微分和积分
数值的微分和积分
目录
多项式的表示方法
polyval()
polyder()
16分钟练习
conv()
polyint()
Numerical Differentiation
39分钟练习
45分钟练习
47分钟练习
多次积分
数值积分
Midpoint rule :
Trapezoid rule
Function Handles(@)
创建函数句柄
匿名函数
多项式的表示方法
例如: f(x)=x^3-2x-5;
也就是 x^3 的系数为1, x^2的系数为0, x 的系数为 -2, 常数为-5;
所以 p=[1 0 -2 -5];
polyval()
y = polyval(p,x) 计算多项式 p 在 x 的每个点处的值。参数 p 是长度为 n+1 的向量,其元素是 n 次多项式的系数(降幂排序):
p(x)=p1^xn+p2^(xn−1)+...+pn^x+pn+1.
虽然可以为不同目的使用 polyint、polyder 和 polyfit 等函数计算 p 中的多项式系数,但您也可以为系数指定任何向量。
要以矩阵方式计算多项式,请改用polyvalm。
[y,delta] = polyval(p,x,S) 使用 polyfit 生成的可选输出结构体 S 来生成误差估计值。delta 是使用 p(x) 预测 x 处的未来观测值时的标准误差估计值。
clear all; %6分钟练习
clc;
a=[9,-5,3,7]; %构建多项式的系数
x=-2:0.01:5;
f=polyval(a,x); %计算多项式 f在每个x 点的值
plot(x,f,'LineWidth',2,'Color','red'); %用图表示出来
xlabel('x'); ylabel('f(x)');
set(gca,'FontSize',14);
polyder()
多项式微分
clear all; %11分钟练习
clc;
p=[5 0 -2 0 1];
polyder(p) %f'(p)
polyval(polyder(p),7) % f'(7)
16分钟练习
做出来和老师的不一样。有的弹幕说是p=[5 -7 5 10]; 这里想不通。
conv()
w = conv(u,v) 返回向量 u 和 v 的卷积。如果 u 和 v 是多项式系数的向量,对其卷积与将这两个多项式相乘等效。
w = conv(u,v,shape) 返回如 shape 指定的卷积的分段。例如,conv(u,v,'s