用MATLAB对有3个符号变量的函数中的一个变量定积分,最后得到的还是3个变量,应该怎么办?

来源:百度知道 编辑:UC知道 时间:2024/06/05 11:54:47
表达式是:f1=m*sqrt(((sqrt(x^2+y^2)/r2)*b)^2+f^2-2*(sqrt(x^2+y^2)/r2)*b*f*cos(thta));m=0.4,b=21,r2=0.05,f=16,x y和thta是符号变量.

clc;clear;
m=0.4,b=21,r2=0.05,f=16
f1=sym('m*sqrt(((sqrt(x^2+y^2)/r2)*b)^2+f^2-2*(sqrt(x^2+y^2)/r2)*b*f*cos(thta))')
f2=subs(f1)
result=int(f2,'thta')

方法就是这样,不过你这个比较复杂,不一定能积分出来。
运行结果:
f1 =

m*sqrt(((sqrt(x^2+y^2)/r2)*b)^2+f^2-2*(sqrt(x^2+y^2)/r2)*b*f*cos(thta))

f2 =

8/5*(11025*x^2+11025*y^2+16-840*(x^2+y^2)^(1/2)*cos(thta))^(1/2)

result =

16/5*i/(x^2+y^2)^(1/2)*(-11025*(x^2+y^2)^(1/2)*x^2*exp(i*thta)-11025*(x^2+y^2)^(1/2)*y^2*exp(i*thta)-16*(x^2+y^2)^(1/2)*exp(i*thta)+420*exp(i*thta)^2*x^2+420*exp(i*thta)^2*y^2+420*x^2+420*y^2)/((11025*x^2*exp(i*thta)+11025*y^2*exp(i*thta)+16*exp(i*thta)-420*(x^2+y^2)^(1/2)*exp(i*thta)^2-420*(x^2+y^2)^(1/2))*exp(i*thta))^(1/2)+int((-1344*(x^2+y^2)^(1/2)+17640*x^2*exp(i*thta)+17640*y^2*exp(i*thta)+128/5*exp(i*thta))/((11025*x^2*exp(i*thta)+11025*y^2*exp(i*thta)+16*exp(i*thta)-420*(x^2+y^2)^(1/2)*exp(i*thta)^2-420*(x^2+y^2)^(1/2))*exp(i*th