一.多项式的计算
1.多项式的表示
(1); [1,0,-2,-5]
从最高项到常数项的系数来表示
2. 多项式求值:polyval()
我们运用到了matlab的一个函数polyval()
a = [9,-5,3,7]; x = -2:0.01:5;
f = polyval(a,x); % 两个参数,一个时函数,一个是自变量的范围
plot(x,f);% 显示这个图像
3.多项式的微分:polyder()
求微分我们需要用到一个函数
polyder()
p = polyder([5 0 -2 0 1]);
4. 多项式的乘积:conv()
如图计算这个多项式的结果:
p = conv([20,-7,5,0,10],[4,12,0,-3])
5. 多项式的积分:polyint()
使用polyint(p, c)函数可以计算多项式p的积分,积分结果的常数项设为c.
p = [5,0,2,0,1]
f = polyint(p,c)
二. 数值微分
1. 求差分:diff()
x = [1 2 5 2 1];
diff(x); % 得到 [1 3 -3 -1] % 默认是一阶差分
diff(x,1); % 得到 [1 3 -3 -1] # 一阶差分
diff(x,2); % 得到 [2 -6 2] % 二阶差分,就是连续两次
利用差分求斜率:
x = [1,2]; y = [1,5]
sclope = diff(x) ./ diff(y)
2. 求导数:diff(y)./diff(x)
利用导数的定义进行计算。
求 sin(x) 在【0,2pi】 上的导数
h = 0.1;
x = 0:h:2 * pi;
y = sin(x);
m = diff(y)./diff(x)
plot(y)
hold on
plot(m,'g-.')
3. 二次积分:
对一次积分产生的数值再进行一次积分,都是运用定义进行计算。
`x = -2:0.005:2; y = x.^3;
m = diff(y)./diff(x); % 计算一阶导数
m2 = diff(m)./diff(x(1:end-1)); % 计算二阶导数`
三. 数值积分
本质上通过近似的方法计算函数曲线下面每一个小区间的面积
1.近似成小矩形
计算 f(x) = 4
x
3
x^3
x3 在取件【0,2】上的积分
h=0.05
x = 0:h:2
midpoint = (x(1:end-1) + x (2:end))/2
y = 4 * midpoint .^3 % 高
s = sum (h * y) % 底乘以高
- 梯形: trapz()
3.抛物线
四. 数值积分函数:integral()
integral(),integral2(),integral3()分别对函数在xmin至xmax间进行一重,二重,三重积分.