| 2 | 1/1 | 返回列表 |
| 查看: 734 | 回復(fù): 1 | |||
[求助]
函數(shù)調(diào)用過程,參數(shù)傳遞出大問題了,求大神指點
|
|
本人編寫了4階龍格庫塔迭代方程,剛開始全部寫在一個m腳本文件里,運行都沒問題。后面考慮到可讀性與模塊化,打算用函數(shù)模塊化的形式來寫。 模塊程序?qū)懞煤螅状芜\行與第二次運行的提示錯誤信息都不一樣。 第一次是 <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> 這個問題查了一下,看好多人都說是變量調(diào)用的問題,相關(guān)帖子的鏈接是http://www.ilovematlab.cn/forum. ... &tid=206897。 然后就用global定義了全局變量,主函數(shù)和每個子函數(shù)都進行了global定義變量,定義格式為: global n m groupn modeln ith pa Main_data RK_data; 但是還是出現(xiàn)這個問題。 重新查了書本之后,使用了evalin 和assignin方法進行了數(shù)據(jù)傳遞,在"Runge_Kutta_Iteration"這個迭代函數(shù)的剛開始就進行了數(shù)據(jù)傳遞,代碼如下,但還是出現(xiàn)了上述報錯信息。 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'); 于是我進行腳本文檔的調(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) 這個時候,運行這個腳本文件,程序就不報錯。。。:L 一調(diào)回函數(shù)的形式就會出錯。。。。 自己已經(jīng)看了3/4天了,頭都看大了,,, 我在”Runge_Kutta_Iteration"這個迭代函數(shù)用了符號變量 syms S I f12 f13 f14 f15 f22 剛開始用這些符號定義其他符號時,都還是正確的,但是到了中間某個位置就出錯了,,, 感覺問題好像出在這,但是不知道是不是 ![]() ?求論壇里的大神指點一下,小弟感激不盡。。。。 |
matlab編程繪圖 |
| 2 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 07化學(xué)280分求調(diào)劑 +9 | 722865 2026-03-23 | 9/450 |
|
|---|---|---|---|---|
|
[考研] 339求調(diào)劑 +4 | 烤麥芽 2026-03-27 | 5/250 |
|
|
[考研] 348求調(diào)劑 +4 | 小懶蟲不懶了 2026-03-27 | 5/250 |
|
|
[考研] 一志愿陜師大生物學(xué)071000,298分,求調(diào)劑 +5 | SYA! 2026-03-23 | 5/250 |
|
|
[考研] 340求調(diào)劑 +3 | jhx777 2026-03-27 | 3/150 |
|
|
[考研] 321求調(diào)劑 +5 | 材料cailiao 2026-03-21 | 5/250 |
|
|
[考研] 【雙一流院校新能源、環(huán)境材料,材料加工與模擬招收大量調(diào)劑】 +4 | Higraduate 2026-03-22 | 8/400 |
|
|
[考研] 化學(xué)工程085602 305分求調(diào)劑 +17 | RichLi_ 2026-03-25 | 17/850 |
|
|
[考研] 【2026考研調(diào)劑】制藥工程 284分 求相關(guān)專業(yè)調(diào)劑名額 +4 | 袁奐奐 2026-03-25 | 8/400 |
|
|
[考研] 0854人工智能方向招收調(diào)劑 +4 | 章小魚567 2026-03-24 | 4/200 |
|
|
[考研] 282求調(diào)劑 +3 | wcq131415 2026-03-24 | 3/150 |
|
|
[考研] 340求調(diào)劑 +5 | 話梅糖111 2026-03-24 | 5/250 |
|
|
[考研] 一志愿武理085500機械專業(yè)總分300求調(diào)劑 +3 | an10101 2026-03-24 | 7/350 |
|
|
[考研] 調(diào)劑 +4 | 13853210211 2026-03-24 | 4/200 |
|
|
[考研] 一志愿南航材料專317分求調(diào)劑 +5 | 炸呀炸呀炸薯條 2026-03-23 | 5/250 |
|
|
[考研] 300求調(diào)劑,材料科學(xué)英一數(shù)二 +5 | leaflight 2026-03-24 | 5/250 |
|
|
[考研] 307求調(diào)劑 +3 | 余意卿 2026-03-21 | 6/300 |
|
|
[考研] 269求調(diào)劑 +4 | 我想讀研11 2026-03-23 | 4/200 |
|
|
[考研] 生物學(xué)一志愿985,分?jǐn)?shù)349求調(diào)劑 +6 | zxts12 2026-03-21 | 9/450 |
|
|
[考研] 接收2026碩士調(diào)劑(學(xué)碩+專碩) +4 | allen-yin 2026-03-23 | 6/300 |
|