非线性约束向量优化使用优化工具箱
2视图(30天)
显示旧的评论
是由一般的优化问题
![](http://www.tianjin-qmedu.com/ch/matlabcentral/answers/uploaded_files/145409/image.png)
和感兴趣的特定的目标函数,在这种情况下给出的
![](http://www.tianjin-qmedu.com/ch/matlabcentral/answers/uploaded_files/145410/image.png)
在哪里
J
,
J +
,
J -
,
Jext
,
delta_mu
都是向量,Jext_D是向量的元素
Jext
,年代和K ^ T矩阵提供的自然系统的问题。
我有编码的目标函数
heuett_simple.m
:
函数f = heuett_simple (J_ext delta_mu)
f = J_ext(4) +点(delta_mu) / 2;
结束
自Jext_D J_ext将第四个元素的向量
和约束条件
heuett_constraints.m
:
函数测查[c] = heuett_constraints (J J_plus J_minus、J_ext delta_mu)
模型= sbmlimport (“heuett_simple.xml”);
S = getstoichmatrix(模型);
S = (S);
K = [-0.7163, -0.3345;
-0.3205、-0.4347;
0.4710、-0.6349;
-0.3958、0.1001;
-0.0752、0.5348);
c = [];
量表(1)= S * J + J_ext;
量表(2)= (K) * delta_mu转置;
量表(3)=诊断接头(exp (delta_mu)) * J_plus - J_minus;
量表(4)= J - J_plus + J_minus;
结束
模型的规范,年代,K是特定的问题我在工作。年代是一个4 x5矩阵类型的翻倍。当我执行这个问题使用工具箱使用以下设置(暂时没有界限)
![](http://www.tianjin-qmedu.com/ch/matlabcentral/answers/uploaded_files/145411/image.png)
我收到的错误
指数超过矩阵维度。
任何想法导致我的问题是什么?
答案(2)
马特·J
2014年9月16日
的一个错误是,你助长了未知的目标函数和约束多个输入参数,例如:
函数f = heuett_simple (J_ext delta_mu)
f = J_ext(4) +点(delta_mu) / 2;
结束
所有的未知数美联储必须作为一个变量,像在下面
函数f = heuett_simple(未知)
J_ext =未知数(1:N);
delta_mu =未知数(N + 1:结束);
f = J_ext(4) +点(delta_mu) / 2;
结束
同样的约束。