jifang29 发表于 2006-4-15 09:37

[求助]如何限制值的大小

请教高手,我下程序运行结果显示的b1是7个复数,但我需要的是0&lt;b1&lt;1的值,下面我应该如何实现,谢谢<BR>A=;B=;C=[];<BR>for C=;<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=;<BR>      end<BR>    end<BR>end<BR>    sum=0; F=[];<BR>for m=0:n<BR>    fori=1:length(A),   <BR>         sum=sum+diff(y2(i),b,m);<BR>    end<BR>    if (m==0),<BR>      F=sum; <BR>    elseif (m&gt;0),<BR>      F=; <BR>    end    <BR>f=subs(F,b,0);<BR>end;f <BR>sum1=0;<BR>syms b1;<BR>for r=1:length(F)    <BR>    sum1=sum1+f(r)*b1.^(r-1);<BR>end;sum1<BR>b1=solve(sum1)<BR>

zjliu 发表于 2006-4-15 18:36

ezplot(sum1)可以看到关于b1的方程(sum1=0)对应的曲线,你可以很清楚的<BR>看到根的分布情况,你应该检查一下中间过程。<BR>如果参数没错,就是你中间过程写的不对
页: [1]
查看完整版本: [求助]如何限制值的大小