您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 其它文档 > matlab 分段函数
f(x)的定义如下:2226,04()56,010,231,xxxxfxxxxxxxx且且其它1、写一个函数文件f(x)实现该函数,要求参数x可以是向量;2、作出该函数的图形;3、求出f(x)的零点与最值。解:(1)、编写M函数文件functiony=f(x)n=length(x);ifx0&x~=-4y=x.^2+x-6;elseifx=0&x10&x~=2&x~=3y=x.^2+5*x+6;elsey=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-');holdonx2=0:0.01:10;y2=x2.^2-5*x2+6;plot(x2,y2,'r:');holdonx3=10:0.01:15;y3=x3.^2-x3-1;plot(x3,y3);x4=-4;y4=x4.^2-x4-1;plot(x4,y4,'p');holdonx5=2;y5=x5.^2-x5-1;plot(x5,y5,'b*');holdonx6=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)的零点①当x0&x~=-4时;f1(x)=x.^2+x-6;由函数的系数矩阵可得函数的根,即:p1=[1,1,-6];x1=roots(p1);x1=-32由题意可知,x的取值范围在(-∞,0),所以x1=2舍去,即f(x)的零点之一为x1=-3.②当x=0&x10&x~=2&x~=3时;f2(x)=x.^2+5*x+6由函数的系数矩阵可得函数的根,即:p2=[1,-5,6];x2=roots(p2)x2=3.00002.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’上,即当x0时,f(x)拥有最小值,因此,用fminbnd函数可求出f1(x)函数的最小值,指令如下:x(1)=fminbnd('x(1).^2+x(1)-6',-5,0)y1=x(1).^2+x(1)-6x=-0.5000y1=-6.2500所以,函数f(x)的最小值为f(-0.5)=-6.5.
本文标题:matlab 分段函数
链接地址:https://www.777doc.com/doc-3313560 .html