matlab这个分段函数图像怎么画?
题目是这样的:编写下列分段函数myfun,然后利用此函数画出其在[-10,10]区间上的图形:y=-1x<02x+30<=x<=515x>5这是我写的函数function...
题目是这样的:
编写下列分段函数myfun,然后利用此函数画出其在[-10,10]区间上的图形:
y=-1 x<0
2x+3 0<=x<=5
15 x>5
这是我写的函数
function y=myfun(x)
if x<0
y=-1
elseif x>5
y=15
else
y=x.*2+3
end
于是我输入plot(x,myfun(x))时出来的是一条直线,根本不是该函数的图像。本人初学者,希望各位高手们能告诉我正确的输入命令,小弟谢谢了~ 展开
编写下列分段函数myfun,然后利用此函数画出其在[-10,10]区间上的图形:
y=-1 x<0
2x+3 0<=x<=5
15 x>5
这是我写的函数
function y=myfun(x)
if x<0
y=-1
elseif x>5
y=15
else
y=x.*2+3
end
于是我输入plot(x,myfun(x))时出来的是一条直线,根本不是该函数的图像。本人初学者,希望各位高手们能告诉我正确的输入命令,小弟谢谢了~ 展开
2个回答
展开全部
这是一个很典型的问题哈
问题出在这里:myfun的输入x你是当做单个数字来处理的,而实际你plot(x,myfun(x))里的x是一个数组,所以在myfun的if判断里,只取了第一个元素x(1)做判断,然后用判断的结果来计算所有的x(i)
你要写成这样,我写个简单点的,你自己照着改
x=-1:0.1:1;
y=x.*(x>0) - 2 * x .* (x<0)
plot(x,y)
另外,你可以在matlab里输入[1 2 3]>2,来看一下数组和单个数字比大小时,matlab是怎么处理的
问题出在这里:myfun的输入x你是当做单个数字来处理的,而实际你plot(x,myfun(x))里的x是一个数组,所以在myfun的if判断里,只取了第一个元素x(1)做判断,然后用判断的结果来计算所有的x(i)
你要写成这样,我写个简单点的,你自己照着改
x=-1:0.1:1;
y=x.*(x>0) - 2 * x .* (x<0)
plot(x,y)
另外,你可以在matlab里输入[1 2 3]>2,来看一下数组和单个数字比大小时,matlab是怎么处理的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询