1樓:匿名使用者
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不支援向量運算。
2樓:
問題主要是三角形隸屬函式引數的確定問題,具體是如何求出第1張圖中t1和t2。第1張圖是一個三角形隸屬函式,其函式的形式為圖2所示,目的是求使圖3所示的函式達到最小值時的t1和t2的值,t1和t2的取值範圍是(8.8,16.
8)和(16.8,31.3),x取值為一系列離散值。
使用matlab 解個方程,已知資料如何求兩個未知數?
3樓:匿名使用者
這不能叫解方程,而是引數擬合
對方程取對數 可得
ln(k)=ln(a)-ea/r*(1/t);
用k的對數結果作y,t的倒數1/t作x,進行線性擬合
的到的斜率是-ea/r ,截距是ln(a) 由此可以求出a和ea
t=[700 730 760 790 810 840 910 1000];
k=[0.011 0.035 0.105 0.343 0.789 2.17 20 145];
r=8.314;
p=polyfit(1./t,log(k),1);
a=exp(p(2));
ea=-p(1)*r;
tt=700:1000;
kk=a*exp(-ea./(r*tt));
plot(t,k,'o');hold on;%資料
plot(tt,kk,'k');hold off;%擬合
axis([690 1010 -10 160]);
title(['a=' num2str(a,'%e') ', ea=' num2str(ea,'%e')]);
legend('資料點','擬合曲線','location','north');
得到的結果如圖所示
matlab多目標多約束 最優問題求解,求大神指點
4樓:我行我素
matlab多目標多約束 最優問題求解可用gamultiobj函式,具體用法可help瞭解學習。
1編寫M函式,用於計算兩個矩陣的積(兩個矩陣作為輸入
function c ji a,b m n size a m n size b if n m error 前者列數與後者行數不同,無法相乘!else for p 1 m for q 1 n for t 1 n d p,q,t a p,t b t,q endc p,q sum d p,q,endend...
axure 7 0用了兩個變數相除怎麼保留兩位小數啊
axure夜話 使用函式 lvar.tofixed decimalpoints 更多使用案例可以參考 夜話教程系列 axure rp pro 7.0,有個函式我想對其取值設定保留兩位小數,求助如何操作 用 lvar.tofixed n 這個函式,lvar為你的結果數,n為你希望擷取的小數位數,比如你...
用SPSS怎麼做兩個連續變數之間的相關,或者說變數對另變數的影響作用大小
先做相關,再做線性迴歸,1.相關 雙變數 2.迴歸 線性 用spss怎麼做兩個連續變數之間的相關 先做相關,再做線性迴歸 1.相關 雙變數 2.迴歸 線性 兩個都是連續變數可以點相關然後點雙變數,選pearson,把變數選入。相關分析完,再進行迴歸分析,看你用哪個變數 哪個,點回歸點線性 進行分析 ...