天天看點

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           

運作結果如圖: