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

主管區(qū)長 (職業(yè)作家)
![]() |
專家經(jīng)驗(yàn): +1059 |
|
其實(shí),MATLAB提示你關(guān)于目標(biāo)函數(shù)的問題,只是你程序存在的幾個(gè)問題中的一個(gè),解釋如下: 其一,目標(biāo)函數(shù)的問題,你函數(shù)的命名有問題,以致于兩個(gè)m文件邏輯關(guān)系混淆不清,其實(shí)m文件的命名有相當(dāng)?shù)淖杂,后面的程序中的命名就是一個(gè)例子。 其二,定積分的求解定義自變量的問題,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來定義,不然會(huì)出現(xiàn)“??? Undefined function or variable 'x_1'”的錯(cuò)誤提示。 其三,定積分的積分積分區(qū)間問題,t是一個(gè)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個(gè)結(jié)果,但是實(shí)際你help int 一下,就知道,int不能同時(shí)求多個(gè)積分區(qū)間的結(jié)果,至少用你這些的代碼是不可以的,你這樣的代碼系統(tǒng)會(huì)提示你: ??? Error using ==> maplemex Error, (in int) wrong number (or type) of arguments: invalid options or option values passed to definite integration. 這51個(gè)定積分單獨(dú)求出來,再組成一個(gè)向量就可以了,見后面的程序。 其四,在你的命名為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));”,這個(gè)式子有點(diǎn)常,其實(shí)是由基本的三項(xiàng): 一個(gè)列向量 乘以 一個(gè)行向量 乘以 一個(gè)行向量;先講一下,MATLAB中,一個(gè)行(列)向量 乘以一個(gè)行(列)向量會(huì)因維數(shù)不同,不能計(jì)算;一個(gè)行(列)向量 點(diǎn)乘(注意是點(diǎn)乘,“.*”)一個(gè)行(列)向量會(huì)得到一個(gè)新的行(列)向量,由于用到點(diǎn)乘,其實(shí)此時(shí)已經(jīng)是數(shù)組之間的運(yùn)算了,既然是數(shù)組之間的運(yùn)算,一個(gè)一個(gè)行(列)向量 點(diǎn)乘 一個(gè)列(行)向量,也是不允許的,不能計(jì)算;一個(gè)行向量乘以一個(gè)列向量會(huì)得到一個(gè)數(shù),而反過來,即一個(gè)列向量乘以一個(gè)行向量會(huì)得到一個(gè)矩陣;現(xiàn)在問題來了,你定義“OBJVa=……”中的第一項(xiàng)就是一個(gè)列向量,按照上面講的MATLAB矩陣數(shù)組運(yùn)算規(guī)律,這樣的計(jì)算結(jié)果只能一個(gè)矩陣或者一個(gè)列向量,而你最終的是想獲得20個(gè)數(shù)字的結(jié)果吧?如果最終是想獲得20個(gè)純數(shù)字的結(jié)果,參見后附的程序,如果想獲得是20個(gè)1*51維的列向量或者20個(gè)51*51維的矩陣的話,按照上面運(yùn)算規(guī)律修改程序即可。 %------------------------------第一個(gè)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)) %計(jì)算目標(biāo)函數(shù)值 end OBJVa %-------------------------------------------------------------------------------------------------- %-------------------------------第二個(gè)m文件------------------------------------------------ function y=lmsob(c1,c2,c3,c4) %A10,A20都是一個(gè)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個(gè)組分在51個(gè)波長下的峰面積,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個(gè)組分在51個(gè)波長下的峰面積 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)驗(yàn): +1059 |

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

| 4 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 274求調(diào)劑 +6 | 顧九笙要謙虛 2026-03-24 | 6/300 |
|
|---|---|---|---|---|
|
[考研]
|
孅華 2026-03-22 | 8/400 |
|
|
[考研]
材料學(xué)碩,求調(diào)劑
6+4
|
糖葫蘆888ll 2026-03-22 | 9/450 |
|
|
[考研] 086003食品工程求調(diào)劑 +6 | 淼淼111 2026-03-24 | 6/300 |
|
|
[考研] 300分,材料,求調(diào)劑,英一數(shù)二 +5 | 超贊的 2026-03-24 | 5/250 |
|
|
[考博] 申博26年 +4 | 八6八68 2026-03-19 | 4/200 |
|
|
[考研] 求調(diào)劑 +7 | 十三加油 2026-03-21 | 7/350 |
|
|
[考研] 291求調(diào)劑 +8 | hhhhxn.. 2026-03-23 | 8/400 |
|
|
[考研] 269求調(diào)劑 +4 | 我想讀研11 2026-03-23 | 4/200 |
|
|
[考研] 336求調(diào)劑 +4 | 收到VS 2026-03-20 | 4/200 |
|
|
[考研] 352求調(diào)劑 +3 | 大米飯! 2026-03-22 | 3/150 |
|
|
[考研] 317求調(diào)劑 +12 | 申子申申 2026-03-19 | 18/900 |
|
|
[考研] 一志愿西安交通大學(xué)材料工程專業(yè) 282分求調(diào)劑 +11 | 楓橋ZL 2026-03-18 | 13/650 |
|
|
[考研] 一志愿華中農(nóng)業(yè)071010,總分320求調(diào)劑 +5 | 困困困困坤坤 2026-03-20 | 6/300 |
|
|
[考研] 求助 +5 | 夢里的無言 2026-03-21 | 6/300 |
|
|
[考研] 296求調(diào)劑 +6 | www_q 2026-03-18 | 10/500 |
|
|
[考研] 一志愿中海洋材料工程專碩330分求調(diào)劑 +8 | 小材化本科 2026-03-18 | 8/400 |
|
|
[考研] 一志愿 西北大學(xué) ,070300化學(xué)學(xué)碩,總分287,雙非一本,求調(diào)劑。 +4 | 晨昏線與星海 2026-03-19 | 4/200 |
|
|
[考研] 295材料求調(diào)劑,一志愿武漢理工085601專碩 +5 | Charlieyq 2026-03-19 | 5/250 |
|
|
[考研] 353求調(diào)劑 +3 | 拉鉤不許變 2026-03-20 | 3/150 |
|