声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 770|回复: 1

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

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

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

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

x
请教高手,我下程序运行结果显示的b1是7个复数,但我需要的是0&lt;b1&lt;1的值,下面我应该如何实现,谢谢<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<BR>    end<BR>end<BR>    sum=0; F=[];<BR>for m=0:n  <BR>    for  i=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=[F,1/prod(m).*sum]; <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>
回复
分享到:

使用道具 举报

发表于 2006-4-15 18:36 | 显示全部楼层
ezplot(sum1)可以看到关于b1的方程(sum1=0)对应的曲线,你可以很清楚的<BR>看到根的分布情况,你应该检查一下中间过程。<BR>如果参数没错,就是你中间过程写的不对
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

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

GMT+8, 2024-11-20 19:46 , Processed in 0.054617 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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