matlab分段函数怎么编写

0<x<3:y=4*x;
3<x<6:y=12;
6<x<9:y=-4*x+36;
9<x<12;y=0

matlab分段函数编写的操作方法和步骤如下:

1、第一步,在计算机桌面上打开MATLAB软件,如下图所示。

2、其次,完成上述步骤后,单击matlab软件左上方的“新建”按钮以创建脚本文件,如下图所示。

3、接着,完成上述步骤后,定义变量,如下图红框标注所示。

4、然后,完成上述步骤后,建立一个循环来求解分段函数,如下图所示。

5、随后,完成上述步骤后,使用piot(x,y)指令绘制图形,如下图所示。

6、最后,完成上述步骤后,显示最终分段函数的效果,如下图所示。这样,问题就解决了。

温馨提示:内容为网友见解,仅供参考
第1个回答  2019-09-22

1、首先在电脑桌面上打开MATLAB软件。

2、然后点击matlab软件左上方的新建按钮,建立一个脚本文件。

3、定义变量:

a1=1.5;

a2=2.5;

X=0:0.001:5

4、建立循环,求解分段函数。

5、采用piot(x,y)指令画图。

6、展示最终的分段函数效果。

本回答被网友采纳
第2个回答  推荐于2017-10-04
首先,建立自定义分段函数,即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
第3个回答  推荐于2017-09-30
x=0:0.1:12;
y=(4*x).*(x>=0&x<3) + 12*(x>=3&x<6) + (-4*x+36) .* (x>=6&x<9) + 0*(x>=9&x<12);
plot(x,y)
xlabel('x');
ylabel('y');

本回答被提问者采纳
第4个回答  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自带的函数工具箱,具体大家自己找下。
相似回答