如何用matlab计算以下分段函数的积分?

分两块积分,再相加的方法我已经会了!但我做程序,还需要计算其他积分,里面有x和y两个关于“角度”的分段函数。我希望得到更简单的方法。

是数值积分还是函数积分?看题意应该是数值积分吧?直接写来两段积分就行了
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表示出来,再对其进行积分。

追答

可能不是太容易,毕竟分段函数的表示法就是定义域是分段的,想要合并为一个不太容易办到

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-06-16
  用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 的,相信你会的。
相似回答