我在matlab中编写了2个函数,一个初始化函数和一个将项插入数组的函数,将其视为双向链表。但是,我的initialize函数只返回“ans =”和初始化数组。我怎样才能设置其他变量的值?这是我的代码:
function [ array, listp, freep ] = initialize( size )
array = zeros(size, 3);
listp = 0;
freep = 1;
end
答案 0 :(得分:82)
Matlab允许您返回多个值以及内联接收它们。
当你调用它时,接收内联的单个变量:
[array, listp, freep] = initialize(size)
答案 1 :(得分:0)
我认为Octave只会返回一个值,这是第一个返回值,在您的情况下,' array'。
并且Octave将其打印为" ans"。
其他人,' listp',' freep'没有打印。
因为它出现在函数内。
试试这个:
[ A, B, C] = initialize( 4 )
'阵列',' listp'' freep'将打印为A,B和C.
答案 2 :(得分:-1)
更改单个Result = [array,listp,freep]的函数。所以只有一个结果要显示
答案 3 :(得分:-1)
在您将调用的函数中使用以下内容,它将正常工作。
[a b c] = yourfunction(optional)
%your code
a = 5;
b = 7;
c = 10;
return
end
这是一种从另一个函数和命令终端
调用该函数的方法 [aa bb cc] = yourfunction(optional);
变量aa,bb和cc现在包含返回变量。