原帖由 wugang326 于 2006-10-19 18:07 发表
如果KK值事先不能确定,都要靠前一次的计算结果迭代产生,应该怎么办啊
这里再把完整的程序帖一下,实际上只是改动了一个句子:- H=0.32; Pc0=0.23; W=0.18;
- x0 = [2*W; Pc0+2*H]; % 取初值
- options = optimset('Display','off');
- k=0:0.01:1; % 变量取值范围[0 1]
- for i=1:1:length(k)
- kk=k(i);
- x = fsolve(@myfun, x0, options,kk);%求解非线性方程组
- x1(i)=x(1); x2(i)=x(2);
- end
- plot(k,x1,'-b',k,x2,'-r'); xlabel('k'); legend('x1','x2')
复制代码- function F = myfun(x,k)
- H=0.32; Pc0=0.23; W=0.18;
- F=[Pc0+H*(1+1.5*(x(1)/W-1)-0.5*(x(1)/W-1)^3)-x(2);
- x(1)-k*sqrt(x(2))];
复制代码
[ 本帖最后由 ChaChing 于 2009-2-26 13:58 编辑 ] |