如何在Matlab中输入分段函数?

如题,我希望Z=2.4xy 如果x<0且y<0
Z=0.7xy 如果其他情况(x>=0或者y>=0)

我写的是
if x<0&y<0
z=2.4.*x.*y
else
z=0.7.*x.*y
end

结果在整个定义域都是Z=2.4xy
请问应该如何写

不好意思,不知道你的x,y是什么样的数,所以不能具体写代码。我下面的x,y可能跟你的不一样,我只是为了说明问题。

x=-5:5;

y=-5:5;

for i=1:9

   if x(i)<0&y(i)<0

       z(i)=2.4.*x(i).*y(i)

   else

       z(i)=0.7.*x(i).*y(i)

   end

end

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-01-08
有很多种形式可以实现分段函数,其中最简单而运算起来又最快的是:
下面以你的题目为例
function m=fenduanhanshu(t)
m=t*(t>=0 & t1 & t<=2)+0.1*(t2)

【解释】
在Matlab中,上述函数中的表达式m=t*(t>=0 & t1 & t<=2)+0.1*(t2)的运算规则是当布尔表达式为true时,布尔表达式的值取1,参与运算,否则取0,参与运算。
例如,当表达式中的(t>=0 & t=0 & t1 & t<=2)和(t2)都不成立,取0参与运算,故此时m=t*1+(-t+2)*0+0.1*0=t。
Matlab中的这种设计极大地方便了用户进行科学计算,减少了用户书写的代码量,开发效率大大提高,个人非常喜欢,所以也极力推荐各位使用。

当然还可以用if……elseif……else……end语句,在此不再多说了。

【绘制函数】
x=0:0.001:2;
y=fenduanhanshu(x);
plot(x,y)

还有就是用Matlab自带的函数工具箱,具体大家自己找下。
第2个回答  推荐于2016-09-14
画分段曲线或曲面,我一般都是用逻辑表达式(比较简洁),而不是if编程,如下:

x=-50:50;
y=-50:50;
[x,y]=meshgrid(x,y);
z=(x<0&y<0).*(1.7*x.*y)+0.7*x.*y;
mesh(x,y,z);
axis tight

-------------------------------------
上面的逻辑表达式也可以这样写:
z=(x<0&y<0).*(2.4*x.*y)+(x>=0|y>=0).*(0.7*x.*y);
这样直观些本回答被提问者采纳
第3个回答  2019-09-15
用逻辑
例如
y=x
当x>1;
y=-x
当x=1;
y=3x
当x<1;
就可以表示成:
y=x.*(x>1)-x.*(x=1)+3x.*(x<1)
第4个回答  2015-10-19
使用if 条件语句 每段的条件对应一个函数。

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中,书写每个分段的函数表达式,如图所示,将它们与x的区间逻辑条件结合。例如,当x在0到1之间时,y的值由第一段函数决定,当x在1到2之间时,y由第二段函数计算,超出这个范围则使用第三段函数。在MATLAB的代码中,这部分可以用if-else语句或者piecewise函数来实现。输入所有定义...

matlab分段函数怎么编写
1、第一步,在计算机桌面上打开MATLAB软件,如下图所示。2、其次,完成上述步骤后,单击matlab软件左上方的“新建”按钮以创建脚本文件,如下图所示。3、接着,完成上述步骤后,定义变量,如下图红框标注所示。4、然后,完成上述步骤后,建立一个循环来求解分段函数,如下图所示。5、随后,完成上述步骤...

这个用matlab怎么实现?
该分段函数用matlab可以这样来实现。1、自定义函数。即 fx=@(x)x.^2.*(x>=1)+1.*(x>-1 & x<1)+(3+2*x).*(x<=-1);2、取x的范围。如 x=-2:0.5:2 3、计算y(x)值 y=fx(x)【执行结果】

MATLAB 如何实现分段函数
1、首先我们确定下所画的函数 sin(2*x) 0<=x<=pi 2*x pi<x<=5 0 其余的x 2、然后我们介绍下匿名函数f=@(x) sin(2*x) 此时我们就定义了一个sin(2*x)函数。3、接着我们限制sin(2x)的定义域,(x>=0 & x<=pi) 这里&表示并且的意思。4、我们按同样的方法定义...

MATLAB如何用if自定义分段函数
1、与建立M文件类似,在命令窗口中输入edit。2、编写函数,需要注意函数命名规则,注释部分可有可无,用%开始。3、编写完成后保存文件,最好保存在当前工作路径的文件夹。4、直接输入函数名,形参,就能返回计算结果。5、和查看其它函数说明一样,输入“help 函数名” 就能看到这个函数的注释说明。

MATLAB求分段函数,怎么写代码呀
1、建立自定义函数文件,piecewise1.m function y=piecewise1(t)分段函数 n=length(t); %计算所输入t的个数 for i=1:n if t(i)>=2 %如果t>=2时,y=1 y(i)=1;elseif t(i)>=-2 & t(i)<2 %如果t[-2,2)时,y=t²y(i)=t(i).^2;else y(i)=-1; %...

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

matlab如何输入含有参数的分段函数
clc;clear[K,X]= meshgrid(0:0.001:0.25,-1:0.01:1);F = -(X<=-0.5)+(X-K).\/(K+0.5).*(X>-0.5&X<=(2*K+0.5))+(X>(2*K+0.5));surf(X,K,F)xlabel('X')ylabel('K')zlabel('F')colorbarcolormap(jet)shading interp ...

matlab分段函数怎么表示
1、建立自定义函数piecewise(x) 分段函数,即piecewise。m 在命令窗口下,输入 >> t=0:0.01:270; >> P0=piecewise(t); >> plot(t,P0,'r-'),xlabel('t'),ylabel('P_0')2、用while循环语句,将每次计算值,存放在数组内,然后用plot()画出(t,Po)曲线图。答题不易,采...

相似回答