matlab里分段函数怎么写( 二 )


6.MATLAB求分段函数,怎么写代码呀原发布者:bitian216
f(x)的定义如下:
1、写一个函数文件f(x)实现该函数,要求参数x可以是向量;2、作出该函数的图形;3、求出f(x)的零点与最值 。解:(1)、编写M函数文件functiony=f(x)n=length(x);ifx=0&x<10&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)的零点①当x>p1=[1,1,-6];>>x1=roots(p1);x1=-32由题意可知,x的取值范围在(-∞,0),所以x1=2舍去,即f(x)的零点之一为x1=-3.②当x>=0&x>p2=[1,-5,6];>>x2=roots(p2)x2=
7.如何用matlab编写分段函数首先,建立自定义分段函数,即piecewise 。m
function y=piecewise(x)
%piecewise function 分段函数
n=length(x);
Pomax=9;
for i=1:n
if x(i)>=0 & x(i)<=150
y(i)=0.79*Pomax*x(i)^0.048;
elseif x(i)>150 & x(i)<=270
y(i)=Pomax*exp(-0.021*(x(i)-150));
else
disp('x必须在0~270之间')
end
end
然后,在当前目录下,执行
>> piecewise(4)
ans =
7.5992
【matlab里分段函数怎么写】

matlab里分段函数怎么写

文章插图