本博文源于matlab,旨在探讨用matlab实现求方程的根,方程组的根,一定范围内求零点,指定初始点求解零点,验证洛必达法则,求单调区间与驻点。
求方程的根
solve(f,x)
例子:求方程x^2+3*x+2=0的根
>> syms x
>> f = x^2 + 3*x+2;
>> solve(f,x)
ans =
-1
-2
>>
求解方程组根
[x,y] = solve(f,g,x,y)
例子:求方程组的根
>> syms x y b;
>> f=x^2+6*y+2;
>> g=x+y-b;
>> [x,y]=solve(f,g,x,y)
x =
3-(-6*b+7)^(1/2)
3+(-6*b+7)^(1/2)
y =
b-3+(-6*b+7)^(1/2)
b-3-(-6*b+7)^(1/2)
>>
求函数在一定范围内的零点
求f(x)=0在点x0附近的零点
x=fzero(f,x0)
求f(x)=0在[a,b]内的零点
x=fzro(f,[a,b])
例子:求方程x=-5附近零点
>> x=fzero('5*sin(2*x)-exp(x)',-5)
x =
-4.7133
>>
例子:求方程在[0,1]上的零点
>> x=fzero('5*sin(2*x)-exp(x)',[0,1])
x =
0.1129
>>
指定初始点求函数零点
[x,f,h]=fsolve(f,x,0)
x为近似零点,f为该点处函数值
例子:求y=2*sin(x)-1.5的零点
>> syms x f h;
>> [x,f,h]=fsolve('2*sin(x)-1.5',0)
x =
0.8481
f =
-1.0918e-010
h =
1
验证洛必达法则
例子:求极限
>> syms x
>> f=3^x-2^x;
>> g=x;
>> limit(f/g,x,0)
ans =
log(3)-log(2)
>> limit(diff(f,x)/diff(g,x),x,0)
ans =
log(3)-log(2)
>>
求函数f(x)=x^3-2*x+5的单调区间与极值
>> syms x
>> f=x^3-2*x+5;
>> zhudian =solve(diff(f,x))
zhudian =
1/3*6^(1/2)
-1/3*6^(1/2)
>>
然后根据这个进行作图
>> x=-2:0.1:2;f=x.^3-2*x+5;
plot(x,f)
grid on
>>
按照图片进行回答就行了。