声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2850|回复: 15

happy大侠,请进!上次没说清,请再帮帮忙阿,急死我了!

[复制链接]
发表于 2006-3-15 15:40 | 显示全部楼层 |阅读模式

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

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

x
<P>大侠,上次说错了!事情的经过是这样子的:还是上次的源代码,当执行到b1=int(2*w,t,0,8)这个语句时,前面都可以执行,这句需要很长时间(几个小时吧),然后要么退出,要么就出现ans=NaN。我看了你的贴子,改用数值积分b1=quadl(2*w,t,0,8),就出现了下面的信息:<BR>??? Error using ==&gt; fcnchk<BR>If FUN is a MATLAB object, it must have an feval method.</P>
<P>Error in ==&gt; quadl at 54<BR>f = fcnchk(funfcn);<BR>怎么回事呀?急死我了!求大侠帮帮忙,帮我好好看一下阿!谢谢!<BR><BR>源程序:<BR>syms z<BR>a=[z^2/34^2,z^3/34^3,z^4/34^4]<BR>a1=diff(a)<BR>a2=diff(a1)<BR>m=int((212160-858*z)*a'*a,0,34)<BR>kesi=int((212160-858*z)*a',0,34)<BR>p=-kesi*2.383*10^-2<BR>r=int(2.1*10^11*(29.962-0.702*z)*a2'*a2,0,34)<BR>k2=-int(10^6*a1'*a1,0,34)<BR>k=r+k2<BR>syms t<BR>e=k-t^2*m<BR>d=-0.1*k<BR>i=d*d+e*e<BR>yi=inv(i)*d*p<BR>yr=inv(i)*e*p<BR>x=yr(1)+yr(2)+yr(3)<BR>y=yi(1)+yi(2)+yi(3)<BR>w=x^2+y^2<BR>b1=int(2*w,t,0,8)<BR>b2=int(2*t^2*w,t,0,8)<BR>double(b1)<BR>double(b2)<BR>z=34<BR>a2 =[1/578,3/19652*z,3/334084*z^2]<BR>x1=a2(1)*yr(1)+a2(2)*yr(2)+a2(3)*yr(3)<BR>y1=a2(1)*yi(1)+a2(2)*yi(2)+a2(3)*yi(3)<BR>w1=x1^2+y1^2<BR>wj1=12.8*10^11*int(2*w1,t,0,8)<BR>wj2=12.8*10^11*int(2*t^2*w1,t,0,8)<BR>double(wj1)<BR>double(wj2)<BR></P>
回复
分享到:

使用道具 举报

 楼主| 发表于 2006-3-15 19:31 | 显示全部楼层
happy大侠:<BR>     你跑拿去了?!
发表于 2006-3-16 09:24 | 显示全部楼层

回复:(hanxiao)happy大侠,请进!上次没说清,请再帮...

<P>好奇怪,今天重新运行了一下居然没问题了<BR>结果是<BR>double(wj1)=4.3267e-002<BR>double(wj2)=1.8272e+000</P>
 楼主| 发表于 2006-3-16 11:39 | 显示全部楼层
<P>大侠:<BR>  这究竟是怎么回事呢?你算了很长时间么?<BR>  我和我同学昨天研究一天也没研究明白,觉得这个程序中了邪了!!<BR>  我曾经用它算过a=[z^2/34^2,z^3/34^3],a为1*2阶的,很好用。而且你的3阶<BR>和我2阶的结果很接近,这也是理论上应该得到的结果。为什么我就算不了?<BR>你的matlab是什么版本?</P>
发表于 2006-3-16 12:53 | 显示全部楼层
你的式子太复杂,中间变量也很大,我算的时候也是自动退出,这是内存的问题,如果内存足够大,也没有关系。当然,如果内存一般,运气好的时候也可能算出来,呵呵。
 楼主| 发表于 2006-3-16 21:39 | 显示全部楼层
<FONT color=#61b713 face=Verdana><B>kevinhcj:<BR>真是太感谢你了!处处支持我!。。。谢谢阿!!</B></FONT>
 楼主| 发表于 2006-3-16 21:39 | 显示全部楼层
同时也要感谢happy大侠!
发表于 2006-3-17 07:24 | 显示全部楼层

回复:(kevinhcj)你的式子太复杂,中间变量也很大,...

<DIV class=quote><B>以下是引用<I>kevinhcj</I>在2006-3-16 12:53:57的发言:</B><BR>你的式子太复杂,中间变量也很大,我算的时候也是自动退出,这是内存的问题,如果内存足够大,也没有关系。当然,如果内存一般,运气好的时候也可能算出来,呵呵。</DIV>
<br><BR>很有道理,我第一次运行的时候,计算机已经运行了很久,估计内存被吃掉了很多<BR>第二次运行的时候计算机刚刚重新启动
 楼主| 发表于 2006-3-17 13:58 | 显示全部楼层
<P>如果这样我就对自己的程序比较有信心了,哪天找个快点的机器再算一下!<BR>谢谢大家的支持!!</P>
 楼主| 发表于 2006-3-19 10:05 | 显示全部楼层
<P>happy大侠:<BR>   我还是觉得很奇怪,我昨天特意找了一个很不错的机器,一启动就运行了程序,还是不行。<BR>出现了下面的错误信息:<BR>   Warning: Explicit integral could not be found.<BR>&gt; In sym.int at 58</P>
<P>??? Error using ==&gt; reshape<BR>To RESHAPE the number of elements must not change.</P>
<P>Error in ==&gt; sym.maple at 94<BR>      result = reshape(result,size(varargin{3}));</P>
<P>Error in ==&gt; sym.int at 51<BR>   r = reshape(maple('map','int',f(:),[x.s '=(' a.s ')..(' b.s ')']),size(f));<BR><BR>这些都是什么意思呀?reshape命令我昨天也没研究明白,是元素维数不对么?<BR>还有大侠,你还能告诉我double(b1)和double(b2)的值么?麻烦你了。。。<BR>谢谢。。。</P>
发表于 2006-3-19 10:16 | 显示全部楼层

回复:(hanxiao)happy大侠: 我还是觉得很奇怪,我...

<DIV class=quote><B>以下是引用<I>hanxiao</I>在2006-3-19 10:05:41的发言:</B><BR>
<P>happy大侠:<BR>   我还是觉得很奇怪,我昨天特意找了一个很不错的机器,一启动就运行了程序,还是不行。<BR>出现了下面的错误信息:<BR>   Warning: Explicit integral could not be found.<BR>&gt; In sym.int at 58</P>
<P>??? Error using ==&gt; reshape<BR>To RESHAPE the number of elements must not change.</P>
<P>Error in ==&gt; sym.maple at 94<BR>      result = reshape(result,size(varargin{3}));</P>
<P>Error in ==&gt; sym.int at 51<BR>   r = reshape(maple('map','int',f(:),[x.s '=(' a.s ')..(' b.s ')']),size(f));<BR><BR>这些都是什么意思呀?reshape命令我昨天也没研究明白,是元素维数不对么?<BR>还有大侠,你还能告诉我double(b1)和double(b2)的值么?麻烦你了。。。<BR>谢谢。。。</P></DIV>
<br>reshape的问题一直搞不太清楚,不好意思<BR>另外double(b1)和double(b2)上面的回帖中我已经给出了
 楼主| 发表于 2006-3-19 21:45 | 显示全部楼层
不!上次给的是double(wj1)和double(wj2).<BR>其实我要的结果就是上面的四个数:double(wj1)double(wj2) 还有double(b1)和double(b2).<BR>拜托大侠了!!<BR>
 楼主| 发表于 2006-3-20 14:26 | 显示全部楼层
ding
发表于 2006-3-20 15:17 | 显示全部楼层

回复:(hanxiao)不!上次给的是double(wj1)和double...

<DIV class=quote><B>以下是引用<I>hanxiao</I>在2006-3-19 21:45:19的发言:</B><BR>不!上次给的是double(wj1)和double(wj2).<BR>其实我要的结果就是上面的四个数:double(wj1)double(wj2) 还有double(b1)和double(b2).<BR>拜托大侠了!!<BR></DIV>
<P>4.2283e-007<BR>1.0471e-005</P>
 楼主| 发表于 2006-3-21 09:08 | 显示全部楼层
happy大侠:<BR><BR>    你可真是大好人啊!![em01]。太感谢你了!!<BR>    不过,昨天我已经用数值积分得到了其他相关的数据。你给我的数据和数值积分得到的数据正好吻合!<BR>    不过出于严谨的科研态度,我还是不知道为什么你可以算,而我却算不了?我机器内存是512的,版本matlab7。其实我昨天用原来的程序又算了一遍,还是自动退出。我同学1g的内存,matlab6.5,也白搭!<BR>    大侠,你太好了,小弟谢谢大哥了!
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-10-5 01:24 , Processed in 0.061934 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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