Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MATLAB是否计算参数结果列表中未列出的参数?_Matlab_Function Calls - Fatal编程技术网

MATLAB是否计算参数结果列表中未列出的参数?

MATLAB是否计算参数结果列表中未列出的参数?,matlab,function-calls,Matlab,Function Calls,我们知道MATLAB支持在矩阵中输出多个结果的函数 例如,[J,grad]=linearRegCostFunctionX,y,theta,lambda如果两个参数都像[p,Q]一样出现在左侧,则返回[J,grad]。 但是当grad丢失时,调用P=linearRegCostFunctionX,y,theta,lambda仍然会给我变量P的J值 现在我的问题是,MATLAB是否花费计算资源来计算grad,但不返回它,或者它是否真正意识到只需要一个结果参数,并跳过所有未列出参数的计算 谢谢 视情况而

我们知道MATLAB支持在矩阵中输出多个结果的函数

例如,[J,grad]=linearRegCostFunctionX,y,theta,lambda如果两个参数都像[p,Q]一样出现在左侧,则返回[J,grad]。 但是当grad丢失时,调用P=linearRegCostFunctionX,y,theta,lambda仍然会给我变量P的J值

现在我的问题是,MATLAB是否花费计算资源来计算grad,但不返回它,或者它是否真正意识到只需要一个结果参数,并跳过所有未列出参数的计算


谢谢

视情况而定。特别是,一个MATLAB函数可以做不同的事情,这取决于你需要多少参数;请参阅nargout。检查函数的代码。如果它检查nargout以决定要执行的操作并避免计算未使用的输出,那么您会在代码中注意到这一点。如果它不这样做,它会计算所有的东西,然后你会忽略一些输出,我明白了。。。所以我想不使用“nargout”来处理多个输出参数并不被认为是一种好的编程实践,因为它会浪费时间来计算未使用的参数。。。谢谢你们的帮助,伙计们!