matlab不等式求解目標函式最優解

時間 2022-07-12 17:45:12

1樓:郟春季小珍

方程數大於未知量個數,屬於超定方程組,一般沒有精確解,只能求最小二乘解。matlab中可以利用左除或偽逆法求解。

clear

c1=10496.108;

c2=10500.275;

c3=10504.442;

c4=10508.609;

c5=10512.776;

a=[1,c1,c1^2,c1^3;

1,c2,c2^2,c2^3;

1,c3,c3^2,c3^3;

1,c4,c4^2,c4^3;

1,c5,c5^2,c5^3;];

b=[-3043766.03

;-3042809.53;-3041787.84;-3040701.05;-3039549.25];

xyzt=pinv(a)*b

%偽逆法求解

%xyzt=a\b

%左除法

xyzt

=1.0e+004

*0.0005

1.8316

-0.0004

0.0000

目標函式有兩個未知變數,怎麼用matlab求最優解?

2樓:匿名使用者

z = @(x)(1.8-x(1))/400*x(2)^2 + (-1.8*x(1)^2+146.24*x(1)-1270)/50*x(2) ...

+(-3.24*x(1)^3+262.872*x(1)^2-3771*x(1)-82375)/100;

x = fmincon(@(x)-z(x),[0 0],,,,,[0 0])

得到的結果為:

x =35.6887  195.5207

其中第一個值為p,第二個為q。目標函式為:

>> z(x)

ans =

2.9446e+003

需要注意的是初值的選擇需要慎重,選擇不當很容易落在區域性最優點(0,0)處。

優化結果繪製二維圖如下:

h=ezmesh(@(p,q)arrayfun(@(x1,x2)z([x1,x2]),p,q),[0 50 0 300]);

set(h,'edgealpha',0.2)

hold on

plot3(x(1),x(2),z(x),'rp')

view(-20,6)

hold off

這裡需要注意,ezmesh那句不能簡單寫成ezmesh(@(x1,x2)z([x1 x2])),因為匿名函式z不支援向量運算。

3樓:

問題主要是三角形隸屬函式引數的確定問題,具體是如何求出第1張圖中t1和t2。第1張圖是一個三角形隸屬函式,其函式的形式為圖2所示,目的是求使圖3所示的函式達到最小值時的t1和t2的值,t1和t2的取值範圍是(8.8,16.

8)和(16.8,31.3),x取值為一系列離散值。

求解不等式,怎麼解不等式方程

x 3x 1 x 1 1,轉化為 x 3x 1 x 1 1 0 即 x 3x 1 x 1 x 1 0即 3x 2 x 1 0 所以第一種,3x 2 0和 x 1 0解得x 2 3和x 1或x 1 所以x 1 第二種,3x 2 0和 x 1 0解得x 2 3和1所以2 3 x 1 所以綜上所述,x的取...

利用基本不等式求函式最值的疑惑,基本不等式應用和求最值的問題一般如何思考

8 x 1 y 1 y 1 1 8 x x x 8 1 8 x 8 8 x 1 y 1,x 0,y 0 x 8,y 1 x 2y x 2 16 x 8 x 8 16 x 8 10 2 16 10 18 當且僅當x 8 16 x 8 即x 12時取得等號,此時y 1 8 x 8 3 並不是x 2y時,...

求解不等式 (x a) (x 1)小於

x a x 1 2 0 x a 2x 2 x 1 0 x a 2 x 1 0 即 x a 2 x 1 0 x a 2 x 1 0 零點是2 a和1 比較它們大小。2 a 1 a 1,則x 1,x 2 a 2 a 1 a 1,則x 2 a,x 1 2 a 1a 1,則 x 1 x 1 1 2成立綜上a...