天天看点

Matlab验算拉格朗日中值定理

拉格朗日中值定理的定义:如果函数f(x)在[a,b]上连续,且在(a,b)可导,则函数f(x)上必有一点p,使得:(f(b)-f(a) )/(b-a)=f'(p)。该定理可以认为如果函数满足拉格朗日中值定理所有条件,那么f(x)上两点连线构成的直线,与过f(p)点的直线平行。

MATLAB代码:

syms x y;  
y=x.^2;  

%绘出y=x*x曲线,黑色线。
e1=ezplot(y,[0,4]);  
set(e1,'Color','k','LineWidth',0.1);  
hold on;  

f1=diff(y); %求解y=x*x的导数。

%(a1,a2)和(a2,b2)两点在曲线y=x*x上。
a1=0;
b1=subs(y,x,a1);
a2=2;
b2=subs(y,x,a2);

m=(b2-b1)/(a2-a1);

% 连接(a1,a2)和(a2,b2)两点得到直线f2。绿色的线。
f2=m*(x-a1)+b1;
e2=ezplot(f2,[0,4]);  
set(e2,'Color','g','LineWidth',0.1);  
hold on;  

%解出导数等于斜线f2的x的值,进而求出y=x*x的点(px,py)。
px=solve(f1==m,'x')
py=subs(y,x,px)

%点斜式画出过(px,py)的直线。红色的线。
f3=m*(x-px)+py;
e3=ezplot(f3,[0,4]);  
set(e3,'Color','r','LineWidth',0.1);  
hold on; 

grid on; 
 
px =
 
1
 
 
py =
 
1           

运行结果如图: