happy大侠,请进!上次没说清,请再帮帮忙阿,急死我了!
<P>大侠,上次说错了!事情的经过是这样子的:还是上次的源代码,当执行到b1=int(2*w,t,0,8)这个语句时,前面都可以执行,这句需要很长时间(几个小时吧),然后要么退出,要么就出现ans=NaN。我看了你的贴子,改用数值积分b1=quadl(2*w,t,0,8),就出现了下面的信息:<BR>??? Error using ==> fcnchk<BR>If FUN is a MATLAB object, it must have an feval method.</P><P>Error in ==> quadl at 54<BR>f = fcnchk(funfcn);<BR>怎么回事呀?急死我了!求大侠帮帮忙,帮我好好看一下阿!谢谢!<BR><BR>源程序:<BR>syms z<BR>a=<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 =<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> happy大侠:<BR> 你跑拿去了?!
回复:(hanxiao)happy大侠,请进!上次没说清,请再帮...
<P>好奇怪,今天重新运行了一下居然没问题了<BR>结果是<BR>double(wj1)=4.3267e-002<BR>double(wj2)=1.8272e+000</P> <P>大侠:<BR>这究竟是怎么回事呢?你算了很长时间么?<BR>我和我同学昨天研究一天也没研究明白,觉得这个程序中了邪了!!<BR>我曾经用它算过a=,a为1*2阶的,很好用。而且你的3阶<BR>和我2阶的结果很接近,这也是理论上应该得到的结果。为什么我就算不了?<BR>你的matlab是什么版本?</P> 你的式子太复杂,中间变量也很大,我算的时候也是自动退出,这是内存的问题,如果内存足够大,也没有关系。当然,如果内存一般,运气好的时候也可能算出来,呵呵。 <FONT color=#61b713 face=Verdana><B>kevinhcj:<BR>真是太感谢你了!处处支持我!。。。谢谢阿!!</B></FONT> 同时也要感谢happy大侠!回复:(kevinhcj)你的式子太复杂,中间变量也很大,...
<DIV class=quote><B>以下是引用<I>kevinhcj</I>在2006-3-16 12:53:57的发言:</B><BR>你的式子太复杂,中间变量也很大,我算的时候也是自动退出,这是内存的问题,如果内存足够大,也没有关系。当然,如果内存一般,运气好的时候也可能算出来,呵呵。</DIV><br><BR>很有道理,我第一次运行的时候,计算机已经运行了很久,估计内存被吃掉了很多<BR>第二次运行的时候计算机刚刚重新启动 <P>如果这样我就对自己的程序比较有信心了,哪天找个快点的机器再算一下!<BR>谢谢大家的支持!!</P> <P>happy大侠:<BR> 我还是觉得很奇怪,我昨天特意找了一个很不错的机器,一启动就运行了程序,还是不行。<BR>出现了下面的错误信息:<BR> Warning: Explicit integral could not be found.<BR>> In sym.int at 58</P>
<P>??? Error using ==> reshape<BR>To RESHAPE the number of elements must not change.</P>
<P>Error in ==> sym.maple at 94<BR> result = reshape(result,size(varargin{3}));</P>
<P>Error in ==> sym.int at 51<BR> r = reshape(maple('map','int',f(:),),size(f));<BR><BR>这些都是什么意思呀?reshape命令我昨天也没研究明白,是元素维数不对么?<BR>还有大侠,你还能告诉我double(b1)和double(b2)的值么?麻烦你了。。。<BR>谢谢。。。</P>
回复:(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>> In sym.int at 58</P>
<P>??? Error using ==> reshape<BR>To RESHAPE the number of elements must not change.</P>
<P>Error in ==> sym.maple at 94<BR> result = reshape(result,size(varargin{3}));</P>
<P>Error in ==> sym.int at 51<BR> r = reshape(maple('map','int',f(:),),size(f));<BR><BR>这些都是什么意思呀?reshape命令我昨天也没研究明白,是元素维数不对么?<BR>还有大侠,你还能告诉我double(b1)和double(b2)的值么?麻烦你了。。。<BR>谢谢。。。</P></DIV>
<br>reshape的问题一直搞不太清楚,不好意思<BR>另外double(b1)和double(b2)上面的回帖中我已经给出了 不!上次给的是double(wj1)和double(wj2).<BR>其实我要的结果就是上面的四个数:double(wj1)double(wj2) 还有double(b1)和double(b2).<BR>拜托大侠了!!<BR> ding
回复:(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> happy大侠:<BR><BR> 你可真是大好人啊!!。太感谢你了!!<BR> 不过,昨天我已经用数值积分得到了其他相关的数据。你给我的数据和数值积分得到的数据正好吻合!<BR> 不过出于严谨的科研态度,我还是不知道为什么你可以算,而我却算不了?我机器内存是512的,版本matlab7。其实我昨天用原来的程序又算了一遍,还是自动退出。我同学1g的内存,matlab6.5,也白搭!<BR> 大侠,你太好了,小弟谢谢大哥了!
页:
[1]
2