用matlab求分段函数程序
3个回答
展开全部
这样:
clc,clear,close all
x = -5:.1:5;
y(x>=1) = 3.*x(x>=1).^2+1;
y(x>-1 && x<1) = 0;
y(x<=-1) = -x(x<=-1).^3+2;
figure,plot(x,y)
扩展资料:
注意事项
语法
if expression
statements
end
描述
MATLAB计算表达式,如果产生一个逻辑真或者非零结果,然后就执行一条或者多条MATLAB命令语句。
当有嵌套if时,每一个if必须和一个相应的end匹配。
当你在if语句里面嵌套使用else if或者else时,一般的格式如下:
if expression1
statements1
elseif expression2
statements2
else
statements3
end
展开全部
最低0.27元/天开通百度文库会员,可在文库查看完整内容>
原发布者: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=
原发布者: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=
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
出错的原因应该是
你的函数名字起的太简单了,可能与别的g.m函数冲突,引起调用错误,不过也可能是matlab抽风了,你重启试试。
我的解决办法是:把函数名字改为gg.m
然后放到当前工作目录中,
函数内容的代码是:
function
y=gg(x)
if
x>2
y=x^2+2;
elseif
0<x<=2
y=3*x;
elseif
x<=0
y=x^3;
end
然后在命令行中输入
gg(6)
gg(2)
你看,运行正常!
结果如下:
你试试,如果有问题,欢迎继续讨论
你的函数名字起的太简单了,可能与别的g.m函数冲突,引起调用错误,不过也可能是matlab抽风了,你重启试试。
我的解决办法是:把函数名字改为gg.m
然后放到当前工作目录中,
函数内容的代码是:
function
y=gg(x)
if
x>2
y=x^2+2;
elseif
0<x<=2
y=3*x;
elseif
x<=0
y=x^3;
end
然后在命令行中输入
gg(6)
gg(2)
你看,运行正常!
结果如下:
你试试,如果有问题,欢迎继续讨论
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询