| 2 | 1/1 | 返回列表 |
| 查看: 735 | 回復(fù): 1 | |||
[求助]
函數(shù)調(diào)用過程,參數(shù)傳遞出大問題了,求大神指點(diǎn)
|
|
本人編寫了4階龍格庫塔迭代方程,剛開始全部寫在一個(gè)m腳本文件里,運(yùn)行都沒問題。后面考慮到可讀性與模塊化,打算用函數(shù)模塊化的形式來寫。 模塊程序?qū)懞煤,首次運(yùn)行與第二次運(yùn)行的提示錯(cuò)誤信息都不一樣。 第一次是 <font color="#ff0000">??? Error using ==> horzcat CAT arguments dimensions are not consistent. Error in ==> sym.subs>@(x)[char(x),','] at 249 s = cellfun(@(x)[char(x) ','],X,'UniformOutput',false); Error in ==> sym.subs>getNames at 249 s = cellfun(@(x)[char(x) ','],X,'UniformOutput',false); Error in ==> sym.subs>tryFunctionHandle at 193 xvarnames = getNames(X); Error in ==> sym.subs>mupadsubs at 140 [G,worked] = tryFunctionHandle(F,X,Y); Error in ==> sym.subs at 127 G = mupadsubs(F,X,Y); Error in ==> Runge_Kutta_Iteration at 167 f0Nwl_new=subs(f0Nwl,{I,Nwl,Nes,Ngs,f12,f13,f14,f15},... Error in ==> Runge_Kutta_Main at 23 Runge_Kutta_Iteration(Light_in_section,Runge_Kutta_Iteration_num) Error in ==> ModeLocking_20150427_main at 45 Runge_Kutta_Main(Light_in_section);</font> 第二次是 <font color="#ff0000">??? Error using ==> Runge_Kutta_Iteration at 90 Error due to multiple causes. Error in ==> Runge_Kutta_Main at 23 Runge_Kutta_Iteration(Light_in_section,Runge_Kutta_Iteration_num) Error in ==> ModeLocking_20150427_main at 45 Runge_Kutta_Main(Light_in_section); Caused by: Error using ==> Runge_Kutta_Iteration at 90 Error evaluating parameter 'Denominator' in 'f14/Actuator Model': Undefined function or variable 'Ta'. Error using ==> Runge_Kutta_Iteration at 90 Error evaluating parameter 'Gain' in 'f14/Aircraft Dynamics Model/Gain3': Undefined function or variable 'Uo'.</font> 這個(gè)問題查了一下,看好多人都說是變量調(diào)用的問題,相關(guān)帖子的鏈接是http://www.ilovematlab.cn/forum. ... &tid=206897。 然后就用global定義了全局變量,主函數(shù)和每個(gè)子函數(shù)都進(jìn)行了global定義變量,定義格式為: global n m groupn modeln ith pa Main_data RK_data; 但是還是出現(xiàn)這個(gè)問題。 重新查了書本之后,使用了evalin 和assignin方法進(jìn)行了數(shù)據(jù)傳遞,在"Runge_Kutta_Iteration"這個(gè)迭代函數(shù)的剛開始就進(jìn)行了數(shù)據(jù)傳遞,代碼如下,但還是出現(xiàn)了上述報(bào)錯(cuò)信息。 n=evalin('base','n'); m=evalin('base','m'); groupn=evalin('base','groupn'); modeln=evalin('base','modeln'); ith=evalin('base','ith'); pa=evalin('base','pa'); Main_data=evalin('base','Main_data'); RK_data=evalin('base','RK_data'); 于是我進(jìn)行腳本文檔的調(diào)試,文檔前面部分的代碼如下(我把函數(shù)名給注釋了): % function Runge_Kutta_Iteration(Light_in_section,Runge_Kutta_Iteration_num) %%%the iteration program of 4th Runge_Kutta method % n=evalin('base','n'); % m=evalin('base','m'); % groupn=evalin('base','groupn'); % modeln=evalin('base','modeln'); % ith=evalin('base','ith'); % pa=evalin('base','pa'); % Main_data=evalin('base','Main_data'); % RK_data=evalin('base','RK_data'); % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% TEST_POINT=0; dt=0.5e-12*1.09 n=50;%the total steps of time t=(1:n)*dt/1e-12; m=2; dt1=dt/m; ith=1; inner_loop_steps=[3*ones(1,10),10*ones(1,10)];% change the inner loop number in different time to be more effecient in SignalModulation simulation groupn=100;%the group number of ES and GS modeln=600;%the lasering model number Main_data_initiate;% intializing the Main_data Is_gain_section=1; Light_in_section=1; Runge_Kutta_Iteration_num=20; parameters(1); RK_Iteration_Data_Init(1,20) 這個(gè)時(shí)候,運(yùn)行這個(gè)腳本文件,程序就不報(bào)錯(cuò)。。。:L 一調(diào)回函數(shù)的形式就會(huì)出錯(cuò)。。。。 自己已經(jīng)看了3/4天了,頭都看大了,,, 我在”Runge_Kutta_Iteration"這個(gè)迭代函數(shù)用了符號(hào)變量 syms S I f12 f13 f14 f15 f22 剛開始用這些符號(hào)定義其他符號(hào)時(shí),都還是正確的,但是到了中間某個(gè)位置就出錯(cuò)了,,, 感覺問題好像出在這,但是不知道是不是 ![]() ?求論壇里的大神指點(diǎn)一下,小弟感激不盡。。。。 |
matlab編程繪圖 |
| 2 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 一志愿上海理工能源動(dòng)力(085800)310分求調(diào)劑 +3 | zhangmingc 2026-03-27 | 4/200 |
|
|---|---|---|---|---|
|
[考研] 269專碩求調(diào)劑 +10 | 金恩貝 2026-03-21 | 10/500 |
|
|
[考研] 0703一志愿9,初試成績(jī):338,四六級(jí)已過,有科研經(jīng)歷,求調(diào)劑! +3 | Zuhui0306 2026-03-25 | 3/150 |
|
|
[考研] 0856,材料與化工321分求調(diào)劑 +4 | 大饞小子 2026-03-27 | 4/200 |
|
|
[考研] 311求調(diào)劑 +7 | lin0039 2026-03-26 | 7/350 |
|
|
[考研] 0856材料化工調(diào)劑 總分330 +8 | zhubinhao 2026-03-27 | 8/400 |
|
|
[考研] 調(diào)劑 +3 | 李嘉圖·S·路 2026-03-27 | 3/150 |
|
|
[考研] 0703化學(xué)338求調(diào)劑! +6 | Zuhui0306 2026-03-26 | 7/350 |
|
|
[考研] 081200-11408-276學(xué)碩求調(diào)劑 +4 | 崔wj 2026-03-26 | 4/200 |
|
|
[考研] 333求調(diào)劑 +6 | wfh030413@ 2026-03-23 | 6/300 |
|
|
[考研] 一志愿華理,數(shù)一英一285求A區(qū)調(diào)劑 +8 | AZMK 2026-03-25 | 10/500 |
|
|
[考研] 材料調(diào)劑 +3 | iwinso 2026-03-23 | 3/150 |
|
|
[考研] 291求調(diào)劑 +3 | HanBeiNingZC 2026-03-24 | 3/150 |
|
|
[考博] 26申博自薦 +3 | whh869393 2026-03-24 | 3/150 |
|
|
[考研] 環(huán)境學(xué)碩288求調(diào)劑 +8 | 皮皮皮123456 2026-03-22 | 8/400 |
|
|
[考研] 生物學(xué)一志愿985,分?jǐn)?shù)349求調(diào)劑 +6 | zxts12 2026-03-21 | 9/450 |
|
|
[考研] 275求調(diào)劑 +6 | shansx 2026-03-22 | 8/400 |
|
|
[考研] 材料學(xué)碩301分求調(diào)劑 +7 | Liyouyumairs 2026-03-21 | 7/350 |
|
|
[考研] 一志愿南大,0703化學(xué),分?jǐn)?shù)336,求調(diào)劑 +3 | 收到VS 2026-03-21 | 3/150 |
|
|
[考研] 266求調(diào)劑 +3 | 哇呼哼呼哼 2026-03-20 | 3/150 |
|