24小时热门版块排行榜    

查看: 1402  |  回复: 12
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

alice919

金虫 (小有名气)

[求助] 帮我看看问题出在哪?

options =

                   Display: 'iter'
               MaxFunEvals: []
                   MaxIter: []
                    TolFun: []
                      TolX: []
               FunValCheck: []
                 OutputFcn: []
                  PlotFcns: []
           ActiveConstrTol: []
                 Algorithm: []
    AlwaysHonorConstraints: []
            BranchStrategy: []
           DerivativeCheck: []
               Diagnostics: []
             DiffMaxChange: []
             DiffMinChange: []
               FinDiffType: 'central'
         GoalsExactAchieve: []
                GradConstr: []
                   GradObj: []
                   HessFcn: []
                   Hessian: []
                  HessMult: []
               HessPattern: []
                HessUpdate: []
           InitialHessType: []
         InitialHessMatrix: []
          InitBarrierParam: []
     InitTrustRegionRadius: []
                  Jacobian: []
                 JacobMult: []
              JacobPattern: []
                LargeScale: 'off'
        LevenbergMarquardt: []
            LineSearchType: []
                  MaxNodes: []
                MaxPCGIter: []
             MaxProjCGIter: []
                MaxRLPIter: []
                MaxSQPIter: []
                   MaxTime: []
             MeritFunction: []
                 MinAbsMax: []
       NodeDisplayInterval: []
        NodeSearchStrategy: []
          NonlEqnAlgorithm: []
        NoStopIfFlatInfeas: []
            ObjectiveLimit: []
      PhaseOneTotalScaling: []
            Preconditioner: []
          PrecondBandWidth: []
            RelLineSrchBnd: []
    RelLineSrchBndDuration: []
              ScaleProblem: []
                   Simplex: []
       SubproblemAlgorithm: []
                    TolCon: []
                 TolConSQP: []
                TolGradCon: []
                    TolPCG: []
                 TolProjCG: []
              TolProjCGAbs: []
                 TolRLPFun: []
               TolXInteger: []
                  TypicalX: []
               UseParallel: []


                                         Norm of      First-order   Trust-region
Iteration  Func-count     f(x)          step         optimality    radius
     0          3    2.06697e+014                     2.49e+014               1
     1          6    1.03581e+012        0.92278      2.86e+013               1
     2          9    4.38753e+007      0.0759773      5.33e+011            2.31
     3         12       0.0824035    0.000500989      3.85e+007            2.31
     4         15    1.18085e-013   2.17124e-008      3.77e+003            2.31
     5         16    1.18085e-013   3.37394e-017      3.77e+003            2.31

Equation solved, fsolve stalled.

fsolve stopped because the relative size of the current step is less than the
default value of the step size tolerance squared and the vector of function values
is near zero as measured by the default value of the function tolerance.

<stopping criteria details>


x =

    1.0000
    0.9993


fval =

  1.0e-006 *

   -0.3436    0.0006


extiflag =

     2


output =

       iterations: 5
        funcCount: 16
        algorithm: 'trust-region-dogleg'
    firstorderopt: 3.7653e+003
          message: [1x774 char]


JAC =

  1.0e+010 *

    1.0957   -0.0000
   -0.0013    0.0013
帮我看看我的问题出在哪,我该怎么解决?这是一个用来计算化学平衡组成

[ 来自小组 化工工程工艺 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

alice919

金虫 (小有名气)

引用回帖:
2楼: Originally posted by 月只蓝 at 2013-07-26 14:51:35
“方程被求解,fsolve函数停止计算”
迭代最后一步与上一步的差值已经小于options中的预设值。

试着把options中的第4和第5项的TolFun和TolX调得更小一些,试试。

function ChemEquil   
clear all
clc
global P
P=600;                %压力单位:kpa
%m=50;              %氢气:草酸二甲酯摩尔比
%KP1=[23.4 21.8 20.3 18.9 17.6 16.4 15.3 14.2 13.3 12.4 11.5 10.8];
%KP2=[0.0393 0.0375 0.0358 0.0342 0.0328 0.0314 0.0301 0.0289 0.0277 0.0267...
   % 0.0257 0.0247];
%KP3=[4.4346E05 3.6476E05 3.0202E05 2.5168E05 2.1101E05 1.7796E05 1.5094E05...
   %1.2872E05 1.1036E05 0.9509E05 0.8233E05 0.7163E05];
%x0=0.001;
%x=fsolve(@equil1,x0,[])
x0=[1 0 ]';
options=optimset('Display','iter', 'LargeScale','off','TolFun', 1.0e-22,'TolX',1.0e-22)
[x,fval,extiflag,output,JAC]=fsolve(@equil1,x0,options)

%...................................................
%平衡组成关系式
function f=equil1(x)
global P
%f=x^2*(51-x)-21.8*((50-2*x)^2*(1-x)*P)
tmp1=50-2*x(1)-2*x(2);
tmp2=51-x(1)-x(2);
f(1)=(x(1)-x(2))*(x(1)+x(2))*tmp2*100-8630*((1-x(1))*tmp1^2*P);
f(2)=(x(1)+x(2))*x(2)*tmp2*100-10.4*((x(1)-x(2))*tmp1^2*P);
这是源程序,可以帮我看看错在哪?是不是要改算法
5楼2013-07-26 15:07:09
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 13 个回答

月只蓝

主管区长 (职业作家)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
xiegangmai: 金币+2, 谢谢参与! 2013-08-01 22:33:51
“方程被求解,fsolve函数停止计算”
迭代最后一步与上一步的差值已经小于options中的预设值。

试着把options中的第4和第5项的TolFun和TolX调得更小一些,试试。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
2楼2013-07-26 14:51:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

alice919

金虫 (小有名气)

引用回帖:
2楼: Originally posted by 月只蓝 at 2013-07-26 14:51:35
“方程被求解,fsolve函数停止计算”
迭代最后一步与上一步的差值已经小于options中的预设值。

试着把options中的第4和第5项的TolFun和TolX调得更小一些,试试。

改了,还是不行
3楼2013-07-26 15:04:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

月只蓝

主管区长 (职业作家)

引用回帖:
3楼: Originally posted by alice919 at 2013-07-26 15:04:32
改了,还是不行...

是解非线性方程组吗?再改一下初值看看,同时看看目前的解代入原方程有多接近0。可不可以把待求方程组发上来,我们一起看看。
MATLAB、MS小问题、普通问题请发帖求助!时间精力有限,恕不接受无偿私信求助。
4楼2013-07-26 15:06:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见