登录论坛

查看完整版本 : [MATLAB混合编程] 利用fmincon函数最优化的问题,请高人帮忙编个程序,本人菜鸟,万分感谢~


sunnyboy19860616
2009-05-08, 11:19
最优化目标函数为:min(f)=[Ci-[ai bi]*[1-V;V]]^T*[Ci-[ai bi]*[1-V;V]]
{[Ci]n*1为某区域的整体成分,([Ci]n*1其中i=1,2,..n(区域中有n中元素),[ai]n*1和[bi]n*1分别为γ和γ‘的成分,γ’相在该区域的相含量为V。约束条件为:(1).0<ai<1 (2)0<bi<1 (3)0<V<1 (4)SUM(ai)=1(i=1,2...n) (5) SUM(bi)=1(i=1,2...n)
流程为:建立优化函数-设定约束-带入初始搜索值-计算目标函数值-判断目标函数值是否最小-是的话输出(不是的话运用CONSTR搜索法搜索新的相成分值,再代入目标函数直到找到目标函数最小值)-输出相含量
这是某区域Ni元素的相成分:[a5]=[0.6238 0.6232 0.5757 0.5713 0.6368 0.6084 0.6408 0.5883 0.5928]
[b5]=[0.6123 0.6128 0.5727 0.5893 0.5938 0.5939 0.6000 0.5934 0.5766 0.5525 0.5641 0.5304 0.5661 0.5905 0.5658 0.5647 0.5733 0.5573 0.6026 0.5928 0.5497 0.5607]
[C5]=[61.42 60.74 56.93 60.51 57.03]
初始搜索值为:(0.6737 0.5486 0.5568)
先求出Ni元素的最优化相含量,其它的元素同解。