如何用matlab编写分段函数

 我来答
mathtech6688
2017-08-21 · TA获得超过779个赞
知道小有建树答主
回答量:307
采纳率:100%
帮助的人:209万
展开全部

matlab对分段函数有非常简单的表示,对此例而言,语句如下:

x = -5:.1:5;

y = (3*x.^2+1).*(x>=1) + (2-x.^3).*(x<=-1);

对于楼主的程序,错误之处在于:

elseif -1<x<1

应该为

elseif -1<x & x<1

也就是说 不等式串 必须表达为 单个的不等式的“且”关系。

没注意到 1楼 已经回答了。本回答没有重复1楼回答的意思。

手机用户76371
2017-08-20 · 超过245用户采纳过TA的回答
知道小有建树答主
回答量:663
采纳率:33%
帮助的人:376万
展开全部
首先,建立自定义分段函数,即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
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式