1.微分:
就是或者
。
(几何意义:切线方向)
1.1多项式的表示:polyval()
1.1.1多项式求值:polyval()

1.1.2多项式求根:roots()
例:roots([1,0,-3,1]).
1.1.3多项式相乘:conv()
例:z=conv([1,2,5],[1,3]);
1.2多项式的微分:polyder()


![]()
求x = 7 时的微分:

p = conv([20 -7 5 10],[4 12 -3]);
x = -2:0.01:1;
f = polyval(p,x);
pp = polyder(p);
ff = polyval(pp,x);
plot(x,f,'b--',x,ff,'r-')
legend('f({x})','f''({x})');

2.多项式积分
2.1 polyint()
注意,积分必须要另外给一个常数

3.数值的微分

3.1 differ()
可计算出每个值与前面的值的差异


策略:

clc;
clear;
h = 0.01;
x = 0 :h: 2*pi;
y = sin(x);
t = linspace(0,2*pi,12)
yy = cos(t);
m = diff(y)./diff(x);
ff = [1 m];
hold on;
plot(x,y,'b-',x,ff,'r--');
plot(t,yy,'ro');
hold off;
legend('sin({x})','sin''({x})');
set(gca,'XTick',0:pi/2:2*pi);
set(gca,'XLim',[0,2*pi])
set(gca,'YLim',[-1.2,2]);
set(gca,'YTick',-1:1:2);
set(gca,'XTickLabel',{'0','\pi/2','\pi','3\pi/2','2\pi'})


4.二次、三次微分
%x^3的一次、二次微分:
x = -2:0.005:2; y = x.^3;
m = diff(y)./diff(x);
m2 = diff(m)./diff(x(1:end-1));
plot(x,y,x(1:end-1),m,x(1:end-2),m2);
xlabel('x','FontSize',18);
ylabel('y','FontSize',18);
legend('f(x) = x^3','f''(x) ','f''''(x)','location','SouthEast');
set(gca,'FontSize',18);

5、数值积分

策略:计算f(x)与x轴之间图像的面积。
有两种方法:

方法一:


midpoint的作用:求出每一个举行中间的量,从而求出矩形的高。
再将每个矩形面积进行求和就能得到积分。

得到的结果有一定的偏差。
方法二:(trapz() )



trapz()函数相当于:

优化:


>> h = 0.05;
>> x = 0:h:2;
>> y = 4*x.^3;
>> s = h/3*(y(1)+2*sum(y(3:2:end-2))+4*sum(y(2:2:end))+y(end))
s =
16
>>
比较:

6、Function Handles(@)

【function作为另一个function的输入】
先定义一个function:(注意与文件名同名)

function [y] = xy_plot(input,x)
y = input(x);
plot(x,y,'r--');
xlabel('x');
ylabel('function(x)');
end
命令行输入:
xy_plot(@sin,0:0.01:2*pi)
可得到正弦图形。

改变@sin为@cos @tan等可得到相应的图形。
integral()

>> y = @(x) 1./(x.^3-2*x-5);
>> integral(y,0,2)
ans =
-0.4605
二元、三元:integral2() integral3()

>> f = @(x,y) y.*sin(x) + x.*cos(y);
>> integral2(f,pi,2*pi,0,pi)
ans =
-9.8696

>> f = @(x,y,z) y.*sin(x) + z.*cos(y);
>> integral3(f,0,pi,0,1,-1,1)
ans =
2.0000
【注意integral2和integral3参数从最里层写起】
本文深入探讨了多项式的微分与积分,介绍了MATLAB中用于计算多项式微分与积分的函数,如polyval(), roots(), polyder(), polyint()等,并详细讲解了数值微分与积分的实现方法,包括diff(), trapz()等函数的应用。此外,还介绍了如何使用MATLAB的FunctionHandles(@)来定义和使用自定义函数,以及如何通过integral(), integral2(), integral3()进行一维、二维和三维数值积分。
834

被折叠的 条评论
为什么被折叠?



