我正在尝试计算Matlab中磁性螺旋度变化率的表达式,其中我计算的总体公式是:
int(A * B * V,x)
(这里主题本身并不是必需的)。
B基本上是一个常数乘以0-9阶和0阶的legendre多项式。
B是A的卷曲,因此A由Stokes定理找到,而V是x的函数,它始终是相同的。
当我运行下面的脚本时,dH只有i = 1情况的明确答案,dH的所有其他情况都保留为int(A(i)* B(i)* V,x)。所以我的问题是,我试图整合的表达式对于matlab而言过于复杂,我在代码中做错了吗? (注意,g和R是常数)
感谢您的帮助!
%%Calculate B, A and dh/dt expressions for m=0 case
clear
syms x %In our case this is theta
syms R
syms g
syms a
syms b
syms c
V = a + b*cos(x)^2 + c*cos(x)^4;
for i = 1:10 %Matlab indices must start from 1
B(i) = g*legendreP(i-1,x);
A(i) = R*csc(x)*int(sin(x)*B(i),0,x);
dH(i) = int(A(i)*B(i)*V,x);
end