-2

如果我创建一个 for 循环并返回某个向量中的所有值,matlab如下所示:

function elements(v)
for i=1:length(v)
    c(i) = v(i)
end

当我运行以下命令时,我得到如下所示的结果:

>> A = [1 2 3 4]

A =

     1     2     3     4

>> elements(A)

c =

     1


c =

     1     2


c =

     1     2     3


c =

     1     2     3     4

我怎样才能将结果返回为:c = [1 2 3 4]仅?

谢谢。

4

3 回答 3

1
function elements(v)
for i=1:length(v)
    c(i) = v(i);
end

disp(c)
于 2013-02-08T10:07:30.487 回答
0

更紧凑的解决方案

function c = elements(v)
for i=1:length(v)
    c(i) = v(i);
end

请注意,它看起来与其他解决方案没有太大区别,但我认为这是您想要做的事情,假设您想做一些复杂/依赖于 c 的事情。

如果您只想要所有元素,只需使用v(:)'v或者v'像提到的@fpe 一样。

于 2013-02-08T16:11:32.960 回答
0

我不知道这是否是你真正的意思,但我会这样:

function c = so_test(v)
 c = v(:)';
end
于 2013-02-08T10:11:50.627 回答