|
楼主 |
发表于 2006-4-6 09:46
|
显示全部楼层
<P>我看了你们的回复很感谢,在实际操作方面我还是不怎么懂.现在我下面的laguerrenew1.m程序已经有运行结果.<BR>不好意思,我这段程序已经在这里出新了N次还没有搞定,还多谢各位的耐心指导.<BR>function laguerrenew1<BR>A=[1 0.3 0.5 1];B=[0.6 0.5 0.4 0.7];C=[];<BR>for C=[C,abs(B.^2/(1-B.^2))];<BR> l=ceil(max(C));<BR> n=length(A)*(l+1)-1;<BR>end;l,n<BR>y2=[],<BR>syms b;<BR>for i=1:length(A) <BR> product=1;<BR> y1=A(i).*((B(i)-b).^l);<BR> for j=1:length(A) <BR> if (j~=i)<BR> product=product.*((1-b.*B(j)).^(l+1)); <BR> y2=[y2,y1.*product];<BR> end;product<BR> end;y1,y2<BR>end<BR> sum=0; y3=0; F=[];<BR>for m=0:n <BR> for i=1:length(A), <BR> sum=sum+diff(y2(i),b,m);<BR> end;sum<BR> if (m==0),<BR> F=sum; <BR> elseif (m>0),<BR> F=[F,1/prod(m).*sum]; <BR> end<BR>f=subs(F,b,0);<BR>end;f<BR><BR>在下面的程序中我需要用到上面计算的f结果,m的取值范围也同于上面程序中的m.所以我想直接调用在下程序<BR>function s=laguerrenew1(f,m)<BR> s=f*b.^m;<BR> y3=symsum(s);<BR> b=solve('y3=0');<BR> disp b</P>
<P><BR>但这样是不对的,希望各位高手帮改一下,有这方面的好书也推荐下,我看到的都是简单的程序结构和运算,对于语言的语法方面比较少,多谢论坛的各位朋友!</P> |
|