如何用matlab求函式最優解(2)

時間 2022-07-12 19:00:04

1樓:

function f=myfun(x)

f=x(1)+x(2)+81;

end %%函式,其中x=x(1)y=x(2)

function [c,ceq]=mycon(x)

c(1)=100000-x(1)*x(2);

c(2)=1-x(1);

c(3)=1-x(2);

ceq=;

end %%條件

clc,clear all

x0=[400 ;400];

[x,fval]=fmincon(@myfun,x0,,,,,,,@mycon)

x =316.3406

316.1150 %即x=y等於這個數時最小

fval =

713.4556 %最小值為這個值

2樓:匿名使用者

利用罰函式法求解

syms x y m

%罰函式的形式寫成如下函式p

p= x+y+81+m*[(x-1)^2+(y-1)^2+(x*y-10000)^2];

%計算雅可比矩陣

j=jacobian(p,[x,y]);

%雅可比矩陣等於零的解,關於m的函式表示式[x,y]=solve(j);

%給m賦值 這裡賦值100,求x y 的值x0=subs(x,m,100)

y0=subs(y,m,100)

%得到x0,y0會有多組解 ,取有意義的值 得x0=y0=99.9950

%通過理論求解 這裡的x,y取值應是 x0=y0=100 x+y >= 2*sqrt(xy) = 2*100 =200.

3樓:匿名使用者

應該是小於100000吧 如果大於 那沒有什麼意思

一個關於用matlab求函式最優解的問題

4樓:兔子和小強

你寫的f(x,y)式子很矛盾,不應該有min。設題目是去除min後,求f(x,y)的最小值。

xi = [0 40 20 0 20 40 0 40];

yi = [30 30 0 0 60 0 60 60];

li = [16.9 25.4 27.8 31.9 35 36.6 38.3 42];

f = @(x,y)sum(abs(sqrt((x-xi).^2+(y-yi).^2)-li));

fminsearch(@(x)f(x(1), x(2)), [0; 0])

怎麼用matlab求最優解?

5樓:匿名使用者

x0=[5,5,2]

題主給出的線性規劃模型可以用fmincon函式來求其最優解,其方法:

1、首先建立目標函式,objectivef(x),其內容y=x(1)*x(2)+2*(x(2)*x(3)+x(1)*x(3));

2、然後建立約束函式,constrainf(x),其內容%約束函式

c=;%非約束函式

ceq=x(1)*x(2)*x(3)-100;

3、最後建立執行**

x0=[5,5,2]

a=;b=;aeq=;beq=;vlb=[5,0,0];vub=[inf,inf,inf];

[x,fval,exitflag]=fmincon(@(x)objectivef(x),x0,a,b,aeq,beq,vlb,vub,@(x)constrainf(x))

a=x(1)*x(2)*x(3);

str=['x1x2x3=100 ',num2str(a)];

fprintf('%s\n',str);

4、根據上述 內容程式設計,執行可以得到

x1=5.848;x2= 5.848;x3=2.924min s=102.6

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

6樓:匿名使用者

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不支援向量運算。

7樓:

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

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

怎麼用matlab求下圖目標線性函式的最優解,最好有程式

8樓:匿名使用者

新增一個sscrolly屬性

var height=$(window).height();

$(document).ready(function() );

matlab求解最優解 200

9樓:匿名使用者

matlab求解最優解,用遺傳演算法ga可以得到理想的最優解,而用fmincon()函式求解其最優解不夠好。

用ga()函式求解過程與fmincon()函式相類似,其方法1、建立目標函式

function f =ga_fun(x)f=6.327*x(1)+4.503*x(2)+2.021*x(3)+3.952*x(4)+1.932*x(5);

2、然後,執行下列命令

[x,fval,exitflag] = ga(@ga_fun,5)3、執行結果為

x =  0.018022     0.035809   0.00070699     0.029036     0.012984

fval =      0.4165

完整**,可以私信給出。

10樓:我行我素

這個求最優解的題目,可以用多種解法,如fmincon,ga,等,你想要哪種解法?

如何用matlab求兩個函式的卷積

雙槍老椰子 function convolution t 4 0.001 4 e rectpuls t 0.25,1.5 plot t,e pause h tripuls t 1,2,1 plot t,h pause s 8 0.001 8 f conv e,h plot s,f 卷積後訊號就變長了...

matlab擬合非線性函式,如何用matlab進行已知函式的非線性擬合

兔子和小強 線性模型 非線性模型是以待優化引數w為參考 而不是看x y w x 表示轉置 描述的是線性模型。題目中要擬合的函式是 y w0 w1 cos a wn cosna,它同樣符合y w x,其中x 1 cosa cosna 設x構成的集合是x,y構成的集合是y,可依據最小二乘法求出w xx ...

matlab求函式極值,matlab求函式的極值

你要求數值解還是解析解?就乍一看,後面那個積分存不存在還難說呢。matlab求函式的極值 x 10 y zeros numel x 1 for i 1 numel x y i sin i 2 cos i 2 endy min min y y max max y x min x find y y mi...