matlab求含有多个参数的复杂函数的定积分求函数函数y=1/t(x)对x的定积分,积分区间为(0,m);其中:t(x)=t+2(r-sqrt(r^2-(m/2-x)^2));我用的语句是:syms t r m x;y=1/(t+2(r-sqrt(r^2-(m/2-x)^2)));int_y=int(y,x,0,m)为
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/17 02:31:02
matlab求含有多个参数的复杂函数的定积分求函数函数y=1/t(x)对x的定积分,积分区间为(0,m);其中:t(x)=t+2(r-sqrt(r^2-(m/2-x)^2));我用的语句是:syms t r m x;y=1/(t+2(r-sqrt(r^2-(m/2-x)^2)));int_y=int(y,x,0,m)为
matlab求含有多个参数的复杂函数的定积分
求函数函数y=1/t(x)对x的定积分,积分区间为(0,m);其中:
t(x)=t+2(r-sqrt(r^2-(m/2-x)^2));
我用的语句是:
syms t r m x;
y=1/(t+2(r-sqrt(r^2-(m/2-x)^2)));
int_y=int(y,x,0,m)
为什么求不出结果?而matlab提示:Warning:Explicit integral could not be found.
那有什么方法可以求呢?
matlab求含有多个参数的复杂函数的定积分求函数函数y=1/t(x)对x的定积分,积分区间为(0,m);其中:t(x)=t+2(r-sqrt(r^2-(m/2-x)^2));我用的语句是:syms t r m x;y=1/(t+2(r-sqrt(r^2-(m/2-x)^2)));int_y=int(y,x,0,m)为
Warning:Warning,unable to determine if r+1/2*m is between 0 and m; try to use assumptions or
set _EnvAllSolutions to true
Warning:Warning,unable to determine if -r+1/2*m is between 0 and m; try to use assumptions or
set _EnvAllSolutions to true
Warning:Warning,unable to determine if 1/2*m-1/2*(-t*(t+4*r))^(1/2) is between 0 and m; try to
use assumptions or set _EnvAllSolutions to true
Warning:Warning,unable to determine if 1/2*m+1/2*(-t*(t+4*r))^(1/2) is between 0 and m; try to
use assumptions or set _EnvAllSolutions to true
Warning:Explicit integral could not be found.
> In sym.int at 58
In Untitled at 6
int_y =
int(1/(t+2*r-(4*r^2-m^2+4*m*x-4*x^2)^(1/2)),x = 0 ..m)
你的这个 表达式 太复杂了.MATLAB用现有 的方法 求不出来
Warning: Explicit integral could not be found.
找不到解析解,程序没有问题。
实际上这是很正常的,例如一些看似简单的函数积分可能很麻烦。
例如:y=sin(x^2)...椭圆积分
改成这样就可以实现了。
syms t r m x;
int_y=int('1/(t+2(r-sqrt(r^2-(m/2-x)^2)))',x,0,m)
输出结果是:
int_y =
1/(t+2)*m