MATLAB的 – 从函数多个返回值?
我正在matlab中编写2个函数,一个初始化函数和一个函数来插入一个数组,把它当作一个双向链表。 但是,我的初始化函数只返回“ans =”和初始化的数组。 我怎么能也设置我的其他variables的值? 这是我的代码:
function [ array, listp, freep ] = initialize( size ) array = zeros(size, 3); listp = 0; freep = 1; end
Matlab允许你返回多个值,也可以内联接收它们。
当你调用它时,接收内联variables:
[array, listp, freep] = initialize(size)
我认为八度只返回一个值,这是第一个返回值,在你的情况下,'数组'。
Octave将其打印为“ans”。
其他人,“listp”,“freep”没有被打印。
因为它在function内出现。
试试这个:
[ A, B, C] = initialize( 4 )
而'数组','listp','freep'将打印为A,B和C.
改变你得到一个单一结果的函数= [array,listp,freep]。 所以只有一个结果要显示
在你要调用的函数中使用下面的代码,它会工作得很好。
[abc] = yourfunction(optional) %your code a = 5; b = 7; c = 10; return end
这是从另一个函数和命令terminal调用函数的一种方法
[aa bb cc] = yourfunction(optional);
variablesaa,bb和cc现在包含返回variables。