如何用matlab进行符号积分
RT,需要进行∫sinax*sinbx*coscx*…*cosnxdx上下限为0到2pi,求助。谢谢给位。...
RT,需要进行∫sinax*sinbx*coscx*…*cosnxdx上下限为0到2pi,求助。谢谢给位。
展开
3个回答
展开全部
你的意思是n是参数吗?对含参方程的积分,如果可以的话,换用Mathematica会简单很多……
追问
不好意思我没学过Methmatica,而且现在时间紧迫也没精力去现学现卖了。a,b这些都是参数实际上是sin(ax)*cos(bx)*…*sin(mx)*cos(nx),积分都是0到2π
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
%例子
clc;
clear all;
close all;
syms x a b c d e f
v = sin(a*x)*sin(b*x)*cos(c*x)*cos(d*x)*cos(e*x)*cos(f*x);
I = int(v,x=0..2*pi);
clc;
clear all;
close all;
syms x a b c d e f
v = sin(a*x)*sin(b*x)*cos(c*x)*cos(d*x)*cos(e*x)*cos(f*x);
I = int(v,x=0..2*pi);
追问
这个方法我用过,但是结果可能不对。比如由三角函数正交性,可以明确知道∫cosmxcosnxdx从0到2π=πδ(m,n),当m,n≠0但是matlab算不出这个值来,所以才着急啊。
追答
% use quad
clc;
clear all;
close all;
syms x a b c d e f
v = @(x)sin(a*x)*sin(b*x)*cos(c*x)*cos(d*x)*cos(e*x)*cos(f*x);
%tol=tolerant level 容错程度
tol=1.0e-8;
I = quad(v,0,2*pi,tol);
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询