资源描述
f(x)的定义如下:
1、写一个函数文件f(x)实现该函数,要求参数x可以是向量;
2、作出该函数的图形;
3、求出f(x)的零点与最值。
解:
(1)、编写M函数文件
function y=f(x)
n=length(x);
if x<0 & x~=-4
y=x.^2+x-6;
elseif x>=0 & x<10 & x~=2 & x~=3
y=x.^2+5*x+6;
else
y=x.^2-x-1;
end
(2)、把文件f.m 放置在搜索路径上
(3)、运行指令
令x=5,则在命令窗口输入指令
y=f(5)
得到答案:
y =
56
(2)图形
x1=(-5):0.01:0;
y1=x1.^2+x1-6;
plot(x1,y1,'m-');
hold on
x2=0:0.01:10;
y2=x2.^2-5*x2+6;
plot(x2,y2,'r:');
hold on
x3=10:0.01:15;
y3=x3.^2-x3-1;
plot(x3,y3);
x4=-4;
y4=x4.^2-x4-1;
plot(x4,y4,'p');
hold on
x5=2;
y5=x5.^2-x5-1;
plot(x5,y5,'b*');
hold on
x6=3;
y6=x6.^2-x6-1;
plot(x6,y6,'g*');
title('函数f(x)的图形');
text(-4,-20,'曲线f1(x)=x^2+x-6');
text(2,40,'曲线f2(x)=x^2-5x+6');
text(10,146,'曲线f3(x)=x^2-x-1');
legend('f1(x)','f2(x)','f3(x)','x=-4','x=2','x=3');
结果如图:
(2)f(x)的零点
①当x<0 & x~=-4时;
f1(x)=x.^2+x-6;
由函数的系数矩阵可得函数的根,即:
>> p1=[1,1,-6];
>> x1=roots(p1);
x1 =
-3
2
由题意可知,x的取值范围在(- ∞,0),所以x1=2舍去,即f(x)的零点之一为x1=-3.
②当x>=0 & x<10 & x~=2 & x~=3时;
f2(x)=x.^2+5*x+6
由函数的系数矩阵可得函数的根,即:
>> p2=[1,-5,6];
>> x2=roots(p2)
x2 =
3.0000
2.0000
因为x~=2 & x~=3 所以f2(x)没有零点。
③当x>=10 & x=-4 & x=2 & x=3 时;
f3(x)=x.^2-x-1;
由函数的系数矩阵可得函数的根,即:
>> p3=[1,-1,-1];
>> x3=roots(p3)
x3 =
1.6180
-0.6180
由题意可知,f3(x)在定义域内没有零点。
④综上所述,f(x)在其定义域内只有一个零点,即x=-3.
(4)、f(x)的最小值
如图所示,f(x)在定义域内只存在一个最小值,且处于最左段函数图形‘曲线f1(x)=x^2+x-6’上,即当x<0时,f(x)拥有最小值,因此,用fminbnd函数可求出f1(x)函数的最小值,指令如下:
>> x(1)=fminbnd('x(1).^2+x(1)-6',-5,0)
>>y1=x(1).^2+x(1)-6
x =
-0.5000
y1 =
-6.2500
所以,函数f(x)的最小值为f(-0.5)=-6.5.
展开阅读全文