matlab这个分段函数图像怎么画?

题目是这样的:
编写下列分段函数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))时出来的是一条直线,根本不是该函数的图像。本人初学者,希望各位高手们能告诉我正确的输入命令,小弟谢谢了~

第1个回答  2010-04-11
这是一个很典型的问题哈

问题出在这里: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是怎么处理的本回答被提问者采纳
第2个回答  2010-04-11
方法1
x=linspace(-10,10);
y=-(x<0)+(0<=x&x<=5).*(x.^2+3)+15*(x>5);
plot(x,y)

方法2
f=maple('x->piecewise(x<0,-1,0<=x and x<=5,x^2+3,x>5,15)');
x =linspace(-10,10);
plot(x,mfun(f,x))

用matlab怎样画分段函数图
1、首先双击打开MATLAB软件,如图所示。2、然后建立一个脚本文件,具体方法如图所示。3、然后定义变量。4、然后建立循环,求解分段函数。5、然后采用以下指令画图。6、然后就可以看到画出的图片如图所示。

请问怎样用matlab绘制分段函数的图像
1、绘制分段函数图像,需要知道分段函数的表达式。来绘制分段函数图像,该函数分为三段。2、x的取值范围选取0到3,y的表达式书写如下图所示,表示为每段的函数表达式乘以x区间的逻辑表达式,如果x的值在范围内,就乘以1,不在范围内,就乘以0。3、点击回车键,运行程序,运行结果如下图所示,可以看到绘...

分段函数的图像怎么画
1、打开MATLAB软件,如图所示。2、建立一个脚本文件,具体方法如图所示。3、打开的文档中,选择定义变量。4、建立循环,求解分段函数。5、接下来是结束部分,采用以下指令画图。这样便可以完成所有的分段函数画图。6、得到的结果如下图:

matlab做分段函数图像?
题主给出的分段函数,可以这样来绘制其图像。1、建立自定义分段函数 fun=@(x)x.^3.*(x<-2*pi)+x.*sin(2*pi*10*x).*(x>=-2*pi & x<=2*pi)+x.*(x>2*pi);2、按各段区间取值,计算各段函数值 x=-3*pi:pi\/10:-2*pi %第一段 y=fun(x)plot(x,y),hold on x=-2...

分段函数画图怎么做
1、打开MATLAB软件,如图所示。2、建立一个脚本文件,具体方法如图所示。3、打开的文档中,选择定义变量。4、建立循环,求解分段函数。5、接下来是结束部分,采用以下指令画图。这样便可以完成所有的分段函数画图。6、得到的结果如下图:

如何用matlab绘制分段函数图像
用matlab绘制分段函数图像(piecewise function),最简单的方法是使用fplot函数和匿名函数,如下5行代码所示:fplot(@(x) exp(x),[-3,0],'b');hold on;fplot(@(x) cos(x),[0 3],'b');hold off;grid on;

matlab分段函数怎么编写
1、首先在电脑桌面上打开MATLAB软件。2、然后点击matlab软件左上方的新建按钮,建立一个脚本文件。3、定义变量:a1=1.5;a2=2.5;X=0:0.001:5 4、建立循环,求解分段函数。5、采用piot(x,y)指令画图。6、展示最终的分段函数效果。

这个用matlab怎么做?
题主给出这个分段函数如何用matlab绘制其图形?绘制其二维图形的方法有很多,如polt函数(已知向量数值绘制图形 ),fplot函数(已知函数绘制图),ezplot函数(已知表达式绘制图形 )。如用fplot函数来绘制其图形,我们可以做:1、首先我们自定义分段函数,可以用句柄函数@(x)、也可以用匿名函数inline或函数...

如何用matlab画出下面分段函数曲线?
用matlab画分段函数曲面图,可以先自定义分段函数p=func(x1,x2),再用meshgrid()函数将x1,x2网格化,再求出p值,最后用mesh(x1,x2,p)命令绘出其曲面图。编程后运行可达到如下图形。

下图分段函数图像用matlab怎么画出来?
对于分段函数图像,用matlab绘制可以这样实现。fun=@(x)0.*(x<0)+x\/100.*(x>=0 & x<=100)+1.*(x>100)x=-20:10:150;y=fun(x);plot(x,y)

相似回答