声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 3875|回复: 9

[综合讨论] 带很多参数的数值积分问题

[复制链接]
发表于 2007-4-21 10:29 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
原函数:f=exp(-(n.*w.^4+e).*(t-h)).*sin(sqrt(1./m.*(EI.*w.^4+K)-(n.*w.^4+e).^2).*(t-h)).*cos(w.*(x-v.*h))./sqrt(1./m.*(EI.*w.^4+K)-(n.*w.^4+e).^2)
其中w,n,h,t,EI,K,E,v,x,m,e是参数,并且只有w,x,t,h是未知的,剩下的是已知常量。我现在相对这个函数作二重积分。
w的变化范围:[0,1.71]  h的变化范围是[0,t],积出来的结果是带有x,t的函数表达式。
我用的是dblquad,结果老出错!
请教高手们,帮帮忙啊!!
回复
分享到:

使用道具 举报

发表于 2007-4-21 10:42 | 显示全部楼层
你试试MAPLE 看行不?符号运算maple比较擅长
 楼主| 发表于 2007-4-21 10:45 | 显示全部楼层

回复 #2 dc1hawk 的帖子

我刚接触MATLAB,我找找看,试一试吧,谢谢了
发表于 2007-4-21 14:44 | 显示全部楼层
用inline函数定义你的积分函数,注意参数传递就行了.
 楼主| 发表于 2007-4-21 20:17 | 显示全部楼层

回复 #4 xjzuo 的帖子

我现在是别的参数都带进去了,就剩下四个参数,可是积分的时候老说有错误
你能不能给我编个例子,简单的就行,里面含有四个参数,对其中的两个积分!!并且其中一个的积分上限是另外两个中的一个!!
耽误你时间了,我已经整了好长时间了!谢谢了
发表于 2007-4-22 09:41 | 显示全部楼层
请先将你的处理及出错信息给出.
提示: 不要想着定义符号变量x,t,而是应该作它们的循环,求出f(x,t)矩阵, 即为所求.

评分

1

查看全部评分

 楼主| 发表于 2007-4-22 12:32 | 显示全部楼层

回复 #6 xjzuo 的帖子

谢谢你啊!
作他们的循环!!还没做过,我查查看!!
我一直用 定义那些符号常量,然后直接积分!!然后老是出错
 楼主| 发表于 2007-4-22 16:02 | 显示全部楼层

回复 #6 xjzuo 的帖子

clear;
>> syms w h t x;
>>  f=@(w,h)5368709120000*exp((-78187/10000*w^4-3541/2500)*(t-h))*sin(7378697629483821/39614081257132168796771975168*(-525716783414231957084569600*w^4+13822958527618982820741906432-1762011944168135634699943936*w^8)^(1/2)*(t-h))*cos(w*(x-1667/100*h))/(-525716783414231957084569600*w^4+13822958527618982820741906432-1762011944168135634699943936*w^8)^(1/2);
>>  Q = dblquad(f,pi,2*pi,0,pi)
??? Error using ===> innerintegral
Inputs to innerintegral must be floats, namely single or double.

Error in ==> dblquad>innerintegral at 79
Q = zeros(size(y), superiorfloat(fcl, xmax, y));

Error in ==> quad at 71
y = f(x, varargin{:});

Error in ==> dblquad at 58
Q = quadf(@innerintegral, ymin, ymax, tol, trace, intfcn, ...
高手,你能不能再帮我看看,我刚开始学,你说得方法我不太懂!能不能详细说一下,在此谢谢 你了
发表于 2007-4-22 17:00 | 显示全部楼层
dblquad是数值积分,函数里的参数要赋值

[ 本帖最后由 eight 于 2007-4-22 21:29 编辑 ]
 楼主| 发表于 2007-4-23 16:16 | 显示全部楼层

回复 #9 sffei 的帖子

谢谢了!
那参数就是变量!!
这样的话是不是不可以用dblquad的方法了!
那用什么方法?
高手,帮帮忙
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-11-29 00:21 , Processed in 0.058960 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表