用matlab進行臥室儲罐的結構優化目標函式是非線性,約束條件有非線性的,有不等式,有等式

2021-03-22 04:26:05 字數 3748 閱讀 8828

1樓:匿名使用者

求解非線性的結構優化問題,可以按下列步驟來進行:

1、確定結構優化目標函式,是最大值還是最小值

2、根

據非約束條件

(不等式)

和約束條件(等式),確定結構優化約束函式

3、確定變數的初值(有必要時,需要調整)

4、用fmincon()函式求得,其最優解

5、對最優解進行驗證,是否符合不等式條件和等式條件。如滿足,則求解成功。

matlab中約束條件非線性,求目標函式最小值 怎麼做?

2樓:匿名使用者

^function [c,ceq]=xiandaicon(x) %構造約束函式

c=;ceq=100-x(1)^3*x(2)*(12-exp(-x(1)/x(2)));

function y=xiandaiobj(x) %構造目標函式,命名為xiandaiobj.m

y=x(1)*x(2)^3

lb=[0 0];

ub=;

x0=[1 1];

[x,fval]=fmincon(@xiandaiobj,x0,,,,,lb,ub,@xiandaicon)

用fmincon求目標函式最小值 其中有多個非線性不等式約束,還有引數大於零的正整數約束

3樓:海明灬

x = fmincon(fun,x0,a,b,aeq,beq,lb,ub,nonlcon,options)

nonlcon就是非線性約束可以是函式可以是m檔案,裡面要有ce,ceq

舉個例子,寫法:

function [ce,ceq]=myfunc(x)

ce[1]=x1+sin(x2);%表示x1+sin(x2)<=0的約束

ce[2]=x1-cos(x2);%表示x1-cos(x2)<=0的約束

ceq[1]=fun1;%表示fun1=0的約束

ceq[2]=fun2;%表示fun2=0的約束,這裡fun1、fun2可以在其他m檔案裡提前寫好。

%如果沒有約束就直接ce,ceq表示

求解的時候就直接

x = fmincon(@(x)myfun(x),x0,,,,,,,@(x) myfunc(x))%myfun(x)是提前寫好的目標函式

4樓:太平溝醫院

轉換成小於零的約束例如

2000=

x(1)*x(4)-8000<=0和2000-x(1)*x(4)=<0

matlab遺傳演算法優化問題中,非線性等式約束怎麼新增啊?

5樓:匿名使用者

建立約束條件函式,把非線性的等式約束條件新增加在[c,ceq]中。如function [c,ceq]=noncon(x)c=x(1)^2+x(2)^2-9;

ceq=;

然後,再用ga()函式呼叫,如

[x, fval, exitflag] =ga(o@fitfun,nvars,a,b,aeq,beq,lb,ub,noncon)

matlab程式設計解決非線性最小二乘法逼近問題,應用優化函式isqnonlin,能否在其中加入非線性不等式約束求解。

6樓:匿名使用者

先把求出來的解向量存為s,然後利用find(f(s))即可求出符合要求的解的序號。

matlab的fmincon函式非線性等式不等式約束優.pdf

7樓:

您好,un為目標函式,它可用前面的方法定義;

x0為初始值;

a、b滿足線性不等式約束 ,若沒有不等式約束,則取a=[ ],b=[ ];

aeq、beq滿足等式約束 ,若沒有,則取aeq=[ ],beq=[ ];

lb、ub滿足 ,若沒有界,可設lb=[ ],ub=[ ];

nonlcon的作用是通過接受的向量x來計算非線性不等約束 和等式約束 分別在x處的估計c和ceq,通過指定函式柄來使用,如:>>x = fmincon(@myfun,x0,a,b,aeq,beq,lb,ub,@mycon),先建立非線性約束函式,並儲存為mycon.m:

function [c,ceq] = mycon(x)

c = …

% 計算x處的非線性不等約束 的函式值。

ceq = …

% 計算x處的非線性等式約束 的函式值。

lambda是lagrange乘子,它體現哪一個約束有效。

output輸出優化資訊;

grad表示目標函式在x處的梯度;

hessian表示目標函式在x處的hessiab值。

用matlab優化分析工具,計算約束非線性優化問題,得出的結果不在約束範圍內,並且為負值,請指教

8樓:

可能是你的非線性規劃問題自身沒有可行解的原因,如果想得到可行解,建議修改引數;如果確定有可行解,建議檢查模型是否輸入正確。

matlab 向凸優化非線性約束函式傳遞引數 fmincon 20

9樓:山水阿銳

您好,un為目標函式,它可用前面的方法定義;

x0為初始值;

a、b滿足線性不等式約束 ,若沒有不等式約束,則取a=[ ],b=[ ];

aeq、beq滿足等式約束 ,若沒有,則取aeq=[ ],beq=[ ];

lb、ub滿足 ,若沒有界,可設lb=[ ],ub=[ ];

nonlcon的作用是通過接受的向量x來計算非線性不等約束 和等式約束 分別在x處的估計c和ceq,通過指定函式柄來使用,如:>>x = fmincon(@myfun,x0,a,b,aeq,beq,lb,ub,@mycon),先建立非線性約束函式,並儲存為mycon.m:

function [c,ceq] = mycon(x)

c = …

% 計算x處的非線性不等約束 的函式值。

ceq = …

% 計算x處的非線性等式約束 的函式值。

lambda是lagrange乘子,它體現哪一個約束有效。

output輸出優化資訊;

grad表示目標函式在x處的梯度;

hessian表示目標函式在x處的hessiab值。

注意:1. fmincon 函式提供了大型優化演算法和中型優化演算法。

預設時,若在 fun 函式中提供了梯度(options 引數的 geadobj 設定為 'on'),並且只有上下界存在或只有等式約束,fmincon 函式將選擇大型演算法。 當既有等式約束又有梯度約束時,使用中型演算法。

2. fmincon 函式的中型演算法一般是使用序列二次規劃。在每一步迭代中求解二次規劃子問題,並用 bfgs 法更新 lagrangian 乘子和 hessian 矩陣。

3. fmincon 函式的大型演算法採用了subspace trust region 優化演算法。這種演算法是把目標函式在點x的鄰域泰勒(x可以認為是人為提供的初始猜測),這個的鄰域就是所謂的trust region,泰勒進行到二階項為止。

4. fmincon 函式可能會給出區域性最優解,這與初始值的選取有關。

怎樣用matlab進行復數運算,matlab中兩個複數相乘怎樣實現

例如想用matlab將一個帶變數的複數式 5 i b 3 2i a 整理為實部 虛部的形式。則可版以用如下指權令 syms a b real z 5 i b 3 2i a real z imag z ans 15 2 b a 9 4 a 2 10 a 3 b 9 4 a 2 x 3 5 i y 7 ...

怎樣用matlab進行資料分類,如何用MATLAB軟體進行資料分類

其實還是靠自己的好,別東找西望了 用matlab中的聚類分析函式。如何用matlab軟體進行資料分類 x 1,6,9,13,2,8,7,4,11,5,3,10,12 numgroups 4 組的數目 xmax max x xmin min x boundries xmin 0 numgroups x...

matlab電路分析,用Matlab的Simulink模擬電路如何測量交流電壓的峰值或有效值

電壓與電流比就是電路系統的傳遞函式,將這個函式方程用拉氏變換描述,然後用bode指令畫出來就可以了。上面一個為幅頻特性,下面一個是相頻特性。具體操作方法參見help bode 用matlab的simulink 電路如何測量交流電壓的峰值 或有效值 把交流電壓的座標從abc座標變換成dqo座標 然後用...