如下,或者有没有更好的方案解决呢?

function [intrade_all,intrade_info ] = buyaction(series,pretrade,parameter,intrade_all)
在for循环中,定义这样一个函数,intrade_all变量即使函数的参数,也是函数的返回值,请问这样是否合法,因为在循环中本次函数返回的结果,要作为下次函数执行的条件

Helenr
浏览 75回答 2
2回答

墨色风雨

合法但是定义的时候最好不要写成一样,以免自己看混乱了在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

红颜莎娜

在matlab中,函数的参数和返回值使用同一个参数是合法的。如果对于自变量在函数中运行后数值有所改变,而且后续的程序中需要用到改变后的数值,那么可以将自变量当做因变量返回。举例说明如下:function [x, y] = fun(x)x = x + 1;  // 将点的横坐标向左平移一个单位,并返回平移后的横坐标值y = x^2;    // 求平移后横坐标所对应的纵坐标,并返回
打开App,查看更多内容
随时随地看视频慕课网APP