![]() |
[求助]求助while问题
各位大侠帮我看看我的程序哪有问题!
clc; clear; syms Kd Ka n1 n2 y1 y2; X=[Kd Ka]; N=[n1 n2]; y=[y1 y2]; Z=[10+20*X(1)/(X(2)-X(1))*(exp(-X(1)*8/4)-exp(-X(2)*8/4))-8.5]^2+[10+20*X(1)/(X(2)-X(1))*(exp(-X(1)*28/4)-exp(-X(2)*28/4))-7]^2+[10+20*X(1)/(X(2)-X(1))*(exp(-X(1)*36/4)-exp(-X(2)*36/4))-6.1]^2+[10+20*X(1)/(X(2)-X(1))*(exp(-X(1)*56/4)-exp(-X(2)*56/4))-7.2]^2; x=[1 2]; old=subs(Z,[X(1) X(2)],[x(1) x(2)]); Z1=[diff(Z,X(1));diff(Z,X(2))]; H=[diff(Z,X(1),2) diff(Z1(1),X(2));diff(Z1(2),X(1)) diff(Z,X(2),2)]; step=Z1.'*Z1\(Z1.'*H*Z1); F=subs(step,[X(1) X(2)],[x(1) x(2)]); N(1)=x(1)-F*subs(Z1(1),[X(1) X(2)],[x(1) x(2)]); N(2)=x(2)-F*subs(Z1(2),[X(1) X(2)],[x(1) x(2)]); new=subs(Z,[X(1) X(2)],[N(1) N(2)]); while (abs(new-old)/old)>exp(-6), x(1)=N(1); x(2)=N(2); old=new; F=subs(step,[X(1) X(2)],[x(1) x(2)]); N(1)=x(1)-F*subs(Z1(1),[X(1) X(2)],[x(1) x(2)]); N(2)=x(2)-F*subs(Z1(2),[X(1) X(2)],[x(1) x(2)]); new=subs(Z,[X(1) X(2)],[N(1) N(2)]); end X(1)=N(1); X(2)=N(2); 为什么总说??? Error using ==> >= Function '>=' is not defined for values of class 'sym'. 要怎么改改啊?谢谢各位! |
所有时间均为北京时间。现在的时间是 12:29。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.