| 4 | 1/1 | 返回列表 |
| 查看: 759 | 回復(fù): 3 | |||||
niexianling銅蟲 (初入文壇)
|
[求助]
目標(biāo)函數(shù)出現(xiàn)錯誤
|
| 請各位給我看一下目標(biāo)函數(shù)lmsob是哪里的錯誤以及怎樣修改,OBJVa.m的運行總是提示lmsob目標(biāo)函數(shù)式編寫不正確,請具體詳述一下,急。 |

主管區(qū)長 (職業(yè)作家)
![]() |
專家經(jīng)驗: +1059 |
|
其實,MATLAB提示你關(guān)于目標(biāo)函數(shù)的問題,只是你程序存在的幾個問題中的一個,解釋如下: 其一,目標(biāo)函數(shù)的問題,你函數(shù)的命名有問題,以致于兩個m文件邏輯關(guān)系混淆不清,其實m文件的命名有相當(dāng)?shù)淖杂,后面的程序中的命名就是一個例子。 其二,定積分的求解定義自變量的問題,int((1/(2*pi)^0.5)*exp((-1/2)*x_1^2),x_1,-inf,z_1)和int((1/(2*pi)^0.5)*exp((-1/2)*x_2^2),x_2,-inf,z_2)中的自變量x_1和x_2須用syms x_1 x_2來定義,不然會出現(xiàn)“??? Undefined function or variable 'x_1'”的錯誤提示。 其三,定積分的積分積分區(qū)間問題,t是一個51*1維的行向量,所以z_1和z_2也是51*1維的行向量,你想用int((1/(2*pi)^0.5)*exp((-1/2)*x_1^2),x_1,-inf,z_1)和int((1/(2*pi)^0.5)*exp((-1/2)*x_2^2),x_2,-inf,z_2)求兩次定積分,每次輸出51個結(jié)果,但是實際你help int 一下,就知道,int不能同時求多個積分區(qū)間的結(jié)果,至少用你這些的代碼是不可以的,你這樣的代碼系統(tǒng)會提示你: ??? Error using ==> maplemex Error, (in int) wrong number (or type) of arguments: invalid options or option values passed to definite integration. 這51個定積分單獨求出來,再組成一個向量就可以了,見后面的程序。 其四,在你的命名為lmsob的m文件,最后一行的end是完全沒必要的,好吧,這問題不大,最大的問題在于,倒數(shù)第二行的“OBJVa=c1*(A10/0.15*exp(0.15^2/2*0.15^2-(t-c2)/0.15)*int((1/(2*pi)^0.5)*exp((-1/2)*x_1^2),x_1,-inf,z_1))-c3*(A20/0.16*exp(0.17^2/2*0.16^2-(t-c4)/0.16)*int((1/(2*pi)^0.5)*exp((-1/2)*x_2^2),x_2,-inf,z_2));”,這個式子有點常,其實是由基本的三項: 一個列向量 乘以 一個行向量 乘以 一個行向量;先講一下,MATLAB中,一個行(列)向量 乘以一個行(列)向量會因維數(shù)不同,不能計算;一個行(列)向量 點乘(注意是點乘,“.*”)一個行(列)向量會得到一個新的行(列)向量,由于用到點乘,其實此時已經(jīng)是數(shù)組之間的運算了,既然是數(shù)組之間的運算,一個一個行(列)向量 點乘 一個列(行)向量,也是不允許的,不能計算;一個行向量乘以一個列向量會得到一個數(shù),而反過來,即一個列向量乘以一個行向量會得到一個矩陣;現(xiàn)在問題來了,你定義“OBJVa=……”中的第一項就是一個列向量,按照上面講的MATLAB矩陣數(shù)組運算規(guī)律,這樣的計算結(jié)果只能一個矩陣或者一個列向量,而你最終的是想獲得20個數(shù)字的結(jié)果吧?如果最終是想獲得20個純數(shù)字的結(jié)果,參見后附的程序,如果想獲得是20個1*51維的列向量或者20個51*51維的矩陣的話,按照上面運算規(guī)律修改程序即可。 %------------------------------第一個m文件---------------------------------------------------- function jisuanjieguo clear all;clc m=[0.481736644302983,2.94957203824238,1.09399774122023,3.75750613928427;1.06135672641442,2.91561309396085,1.33234054044775,3.89003886226546;1.21219908647450,3.15663543380302,0.881394167799156,3.73019860286579;1.38765080523568,3.23114464868989,1.27027161204492,4.03792623322128;0.359879059008655,3.05261473905062,2.01557021271726,3.96040054359488;0.502647855518203,3.29696111389266,1.39989825391603,3.96714112009155;0.312419499606609,3.10503492835515,2.18019902553465,3.71961900674725;0.105130356626851,2.99769305962854,2.41764853243688,4.00525331998188;0.544705219083041,3.04416613022435,2.24589323195766,3.90189256848580;0.128231451255275,2.94842190591994,1.13550109520063,3.74356865269532;0.763477472569916,2.98753737214792,0.545424442886775,3.96566006246573;1.06910543308776,2.86127649428987,0.126812771046420,3.78250244379277;1.49020841141549,3.14148153446344,1.75329214190687,3.86275707507808;0.0715845332951863,3.01569654054312,2.59471395951649,3.99104308227833;1.01382175380874,3.13320506401545,0.120408361347543,3.71376487137305;0.322224666332880,3.27335860572682,0.980276665474573,3.70803137591493;0.697928896073242,2.95730682116205,0.811642925398756,4.06080394821544;0.832650233602747,3.01431847984169,1.30039789571561,3.87632882721789;0.862088937844217,2.85931478435019,2.47468028467206,4.00851345874163;1.27468907746227,3.19224757408864,1.69120584393105,3.68661850606776;]; for i=1:20 OBJVa(i)=lmsob(m(i,1),m(i,2),m(i,3),m(i,4)) %計算目標(biāo)函數(shù)值 end OBJVa %-------------------------------------------------------------------------------------------------- %-------------------------------第二個m文件------------------------------------------------ function y=lmsob(c1,c2,c3,c4) %A10,A20都是一個51*1的列向量 syms x_1 x_2 A10=[1.65812050716062;1.37842188749411;1.32709929007728;1.75367065593514;2.51304929550515;2.79491385756236;1.07714921956842;2.66428084508187;2.13827457310178;1.94620054796526;2.35415605309299;1.31204317847664;1.51660859151163;2.20195161465751;2.10310222972196;1.76459748362657;2.06208279629935;2.07424058256854;1.07203440245290;2.65833257485091;1.48405130710365;1.57706857848243;2.87883422699138;1.90606734046389;2.07623645980896;2.27163482373316;1.77192220104947;2.11019745913312;1.74570261018346;1.22099926156193;2.07149834266615;1.09073995829449;2.35149412200773;1.98998423917103;1.71569344638625;1.14593753460427;2.04827142429856;1.75568474816854;2.54626241305846;2.37133833985307;1.79452517173189;1.94568581421309;1.66056195248652;1.51374245529544;2.94772481165852;1.47245169009091;2.92065621586633;2.11476472478847;2.33311868995606;1.75906126686106;1.57921864637486]; %第1個組分在51個波長下的峰面積,51*1 A20=[4.55384241423182;4.89249075634115;4.85541503507305;5.19247597498081;5.45249297888724;4.28670916677997;5.93827455871261;4.07516990748543;5.78221317419875;4.36184853203795;5.62184092201618;5.22656041883435;4.55045860649714;4.61744333019453;5.08623878201647;5.77281803917650;4.61725879308014;4.98069032196413;5.94471324434871;5.51400301449397;4.39599644173578;5.98357804702743;5.20681939885120;4.41107033730235;4.77944226780546;5.75517971730936;5.74278513151668;5.61881126026832;5.54243601448795;4.39187816797730;5.74092819249945;5.09517257848863;5.38104415249068;4.50887012358101;5.34275530560960;5.79863621461785;5.01686763696078;5.97882849964250;4.85520498607941;4.48592494593789;5.69347349991529;4.81358361405434;4.99838477749102;5.33680256496134;5.28163362243688;5.61896565010412;5.24360419620764;5.91554962521572;4.98686106806965;5.96872459187650;4.30896308164311]; %第2個組分在51個波長下的峰面積 t=0:0.2:10; %1*51的行向量 z_1=(t-c2)/0.15-(0.15/0.15); %1*51的行向量 z_2=(t-c4)/0.17-(0.17/0.16); %1*51的行向量 for i=1:51 int_1(i)=int((1/(2*pi)^0.5)*exp((-1/2)*x_1^2),x_1,-inf,z_1(i)); int_2(i)=int((1/(2*pi)^0.5)*exp((-1/2)*x_2^2),x_2,-inf,z_2(i)); end y=c1* A10'/0.15 *(( exp(0.15^2/2*0.15^2-(t-c2)/0.15) .* int_1) )'-... c3* A20'/0.16 *(( exp(0.17^2/2*0.16^2-(t-c4)/0.16) .* int_2) )'; %---------------------------------------------------------------------------------------------- |

主管區(qū)長 (職業(yè)作家)
![]() |
專家經(jīng)驗: +1059 |

主管區(qū)長 (職業(yè)作家)
![]() |
專家經(jīng)驗: +1059 |

| 4 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 272求調(diào)劑 +7 | 腳滑的守法公民 2026-03-27 | 7/350 |
|
|---|---|---|---|---|
|
[考研] 一志愿南昌大學(xué)324求調(diào)劑 +3 | hanamiko 2026-03-27 | 3/150 |
|
|
[考研] 287求調(diào)劑 +10 | land xuxu 2026-03-26 | 10/500 |
|
|
[考研] 284求調(diào)劑 +11 | junqihahaha 2026-03-26 | 12/600 |
|
|
[考研] 329求調(diào)劑 +7 | 鈕恩雪 2026-03-25 | 7/350 |
|
|
[考研] 343求調(diào)劑 +4 | 贈我一本書 2026-03-23 | 4/200 |
|
|
[考研]
|
y7czhao 2026-03-26 | 8/400 |
|
|
[考研] 297求調(diào)劑 +6 | 田洪有 2026-03-26 | 6/300 |
|
|
[考研] 打過很多競賽,085406控制工程300分,求調(diào)劑 +3 | askeladz 2026-03-26 | 3/150 |
|
|
[考研] 309求調(diào)劑 +4 | gajsj 2026-03-25 | 5/250 |
|
|
[考研] 考研調(diào)劑 +6 | 來好運來來來 2026-03-21 | 7/350 |
|
|
[考研] 290分調(diào)劑求助 +3 | 吉祥止止陳 2026-03-25 | 3/150 |
|
|
[考研] 生物技術(shù)與工程 +3 | 1294608413 2026-03-25 | 4/200 |
|
|
[考研] 318求調(diào)劑 +3 | plum李子 2026-03-23 | 3/150 |
|
|
[考研] 340求調(diào)劑 +5 | 話梅糖111 2026-03-24 | 5/250 |
|
|
[考研] 求調(diào)劑一志愿武漢理工大學(xué)材料工程(085601) +5 | WW.' 2026-03-23 | 7/350 |
|
|
[考博] 26申博自薦 +3 | whh869393 2026-03-24 | 3/150 |
|
|
[考研] 求調(diào)劑院校信息 +6 | CX 330 2026-03-21 | 6/300 |
|
|
[考研] 一志愿北京化工大學(xué)070300 學(xué)碩336求調(diào)劑 +5 | vv迷 2026-03-21 | 8/400 |
|
|
[考研] 336求調(diào)劑 +5 | rmc8866 2026-03-21 | 5/250 |
|