MATLAB - 函数的多个返回值?

Nic*_*ick 51 matlab return-value

我在matlab中编写了2个函数,一个初始化函数和一个将项插入数组的函数,将其视为双向链表.但是,我的initialize函数只返回"ans ="和初始化数组.我怎样才能设置其他变量的值?这是我的代码:

function [ array, listp, freep ] = initialize( size )
    array = zeros(size, 3);
    listp = 0;
    freep = 1;
end
Run Code Online (Sandbox Code Playgroud)

Mik*_*ail 85

Matlab允许您返回多个值以及内联接收它们.

当你调用它时,接收内联的各个变量:

[array, listp, freep] = initialize(size)
Run Code Online (Sandbox Code Playgroud)

  • 另外,如果你有一个你不需要的函数输出变量,但是后来的那个,〜字符将避免在垃圾变量上浪费内存.例如,`[array,〜,freep] = initialize(size)`(仅在R2009b及更高版本中.) (33认同)
  • @Nick你可能想考虑接受答案.5年是很长一段时间,但我会说迟到总比没好;). (2认同)