如何用matlab计算以下分段函数的积分? 10
分两块积分,再相加的方法我已经会了!但我做程序,还需要计算其他积分,里面有x和y两个关于“角度”的分段函数。我希望得到更简单的方法。...
分两块积分,再相加的方法我已经会了!但我做程序,还需要计算其他积分,里面有x和y两个关于“角度”的分段函数。我希望得到更简单的方法。
展开
2个回答
展开全部
是数值积分还是函数积分?看题意应该是数值积分吧?直接写来两段积分就行了
clc
clear
theta0=pi;
theta1=pi/2;
r1=1;r2=2;
Q1=quad(@(theta) (r1-r1*sin(theta)).^2,0,theta1);
Q2=quad(@(theta) (r1-r1*cos(theta1)+r2*cos(theta1)-r2*cos(theta)).^2,theta1,theta0);
Q=Q1+Q2
当然可以将theta1作为一个输入参数,这只是一个例子
clc
clear
theta0=pi;
theta1=pi/2;
r1=1;r2=2;
Q1=quad(@(theta) (r1-r1*sin(theta)).^2,0,theta1);
Q2=quad(@(theta) (r1-r1*cos(theta1)+r2*cos(theta1)-r2*cos(theta)).^2,theta1,theta0);
Q=Q1+Q2
当然可以将theta1作为一个输入参数,这只是一个例子
追问
分两块积分再相加的方法我会了。不知有没有简单点的方法?先将x表示出来,再对其进行积分。
追答
可能不是太容易,毕竟分段函数的表示法就是定义域是分段的,想要合并为一个不太容易办到
展开全部
用matlab计算以下分段函数的积分方法:
1、举例说明:x=:pi/1:2*pi;y=sin(x).*()+cos(x).*(pi*pi);或者可以用if函数分段写
2、x=:.1:1;f=(x)x.*double(x>=&x)+1*x.^2.*double(x>=.1&x)+.*double(x>.3&x);plot(x,f(x))quad(f,,.)函数为:x(t>&t)1x^2(t>.1&t).(t>.3&t)
3、你可以镶嵌套用 用if else语句完成函数分段,你得先定义 t G T 的,相信你会的。
1、举例说明:x=:pi/1:2*pi;y=sin(x).*()+cos(x).*(pi*pi);或者可以用if函数分段写
2、x=:.1:1;f=(x)x.*double(x>=&x)+1*x.^2.*double(x>=.1&x)+.*double(x>.3&x);plot(x,f(x))quad(f,,.)函数为:x(t>&t)1x^2(t>.1&t).(t>.3&t)
3、你可以镶嵌套用 用if else语句完成函数分段,你得先定义 t G T 的,相信你会的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询