matlab 分段函数

2020-06-03 10:50

f(x)的定义如下:

2?x?x?6,x?0且x??4?2f(x)??x?5x?6,0?x?10,x?2且x?32?x?x?1,其它?

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.


matlab 分段函数.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:纺纱工艺设计综合试卷4答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: