MATLAB分段函数积分(如果能解决可以加分)

在MATLAB中,我有一分段函数求其积分,比如函数y1在t>0&t<0.1时刻成立,函数y2在t>0.1&t<0.3时刻成立,函数y3在t>0.3&t<0.9时刻成立。总... 在MATLAB中,我有一分段函数求其积分,比如函数y1在t>0&t<0.1时刻成立,函数y2在
t>0.1&t<0.3时刻成立,函数y3在t>0.3&t<0.9时刻成立。总函数y=y1.*(t>
0&t<0.1)+y2.*(t>0.1&t<0.3)+y3.*(t>0.3&t<0.9)。
y1,y2,y3三个函数在前面的程序中可以求解,但是十分复杂,而且还是在循环中不断变化,所以不可能将y1,y2,y3三个函数复制出来。那么怎么弄
才能够求出y关于时间t的积分。比如int(y,0,0.9),等这类不能用。不知该怎么写后续程序,求大神!!!!(如果能解决可以加分)
展开
 我来答
eflen
2013-11-02 · TA获得超过560个赞
知道小有建树答主
回答量:340
采纳率:100%
帮助的人:339万
展开全部
x=0:0.01:1;
f=@(x)x.*double(x>=0 & x<0.1)+10*x.^2.*double(x>=0.1&x<=0.3)+0.9*double(x>0.3&x<=0.9);
plot(x,f(x))
quad(f,0,0.9)
函数为:
x (t>0&t<0.1)
10x^2 (t>0.1&t<0.3)
0.9 (t>0.3&t<0.9)
更多追问追答
追问
这个是知道,我想问的是另外一种,比如你写的函数x,10*x^2,0.9这三个函数,在f中你也是直接写入三个函数的,但是如果这三个函数我无法直接写入,只能用y1,y2,y3代替,但是y1,y2,y3可以通过前面的方程求解出来,可以理解为y1,y2,y3的函数方程很长很长,不可能直接写。那么该怎么办??
追答
y1=@(x) x;
y2=@(x) 10*x.^2;
y3=@(x) 0.9;
y=@(x) y1(x).*double(x>=0 & x=0.1&x0.3&x<=0.9);
x=0:0.01:0.9;
plot(x,y(x))
quad(y,0,0.9)
这样呢。。。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式