matlab求解椭圆积分,如何编程,因为椭圆积分没有原函数。

q是一个变化的值。如何编程?用到了数值积分,但是还是算不出来,求大神解一下!

matlab求解椭圆积分,可以用数值积分函数(如integral, trapz)来求解。解决的办法:

1、首先建立自定义的椭圆积分函数

fun1=@(x)1./sqrt(1-q^2*sin(x).^2); %F(a,q)

fun2=@(x)sqrt(1-q^2*sin(x).^2); %E(a,q)

2、确定a,q值

3、使用integral函数求解。

4、完整的代码

a=0.5;q=0.2;

fun1=@(x)1./sqrt(1-q^2*sin(x).^2); %F(a,q)

fun2=@(x)sqrt(1-q^2*sin(x).^2); %E(a,q)

F=integral(fun1,0,a)

E=integral(fun2,0,a)

5、计算结果

温馨提示:答案为网友推荐,仅供参考
相似回答