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参数从最里层写起】