-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 = so_test(v)
 c = v(:)';
end
于 2013-02-08T10:11:50.627 に答える
0

さらにコンパクトなソリューション

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

他のソリューションとあまり変わらないように見えることに注意してください。

すべての要素が必要な場合は、 , を使用するv(:)'vv'代わりに @fpe が言及されているようにします。

于 2013-02-08T16:11:32.960 に答える