function [intrade_all,intrade_info ] = buyaction(series,pretrade,parameter,intrade_all)在for循環中,定義這樣一個函數,intrade_all變量即使函數的參數,也是函數的返回值,請問這樣是否合法,因為在循環中本次函數返回的結果,要作為下次函數執行的條件
2 回答

墨色風雨
TA貢獻1853條經驗 獲得超6個贊
合法
但是定義的時候最好不要寫成一樣,以免自己看混亂了
在buyaction.m文件里面這樣定義
function [intrade_all_out,intrade_info ] = buyaction(series,pretrade,parameter,intrade_all_in)
函數里面就根據的需要,把intrade_all_in經過運算的結果賦值給intrade_all_out
在主函數里面寫成一樣的
intrade_all=初始值;
for 循環條件
[intrade_all,intrade_info ] = buyaction(series,pretrade,parameter,intrade_all);
end

紅顏莎娜
TA貢獻1842條經驗 獲得超13個贊
在matlab中,函數的參數和返回值使用同一個參數是合法的。
如果對于自變量在函數中運行后數值有所改變,而且后續的程序中需要用到改變后的數值,那么可以將自變量當做因變量返回。
舉例說明如下:
function [x, y] = fun(x) x = x + 1; // 將點的橫坐標向左平移一個單位,并返回平移后的橫坐標值 y = x^2; // 求平移后橫坐標所對應的縱坐標,并返回 |
添加回答
舉報
0/150
提交
取消