Writing inside cell array

조회 수: 1 (최근 30일)
Matteo Tesori
Matteo Tesori 2023년 5월 17일
답변: Sulaymon Eshkabilov 2023년 5월 17일
Let "f" be a function that returns a 3 by 1 cell. I have to evaluate "f" multiple times, say "N", and I would like to store the results in just one 3 by 2 cell "y".
My solution is the following and is based on a temporary 3 by 1 cell "ytemp". Is there a way to obtain the same result without involving "ytemp"?
y = cell(3, N);
for i = 1 : N
ytemp = f(i);
y(:, i) = ytemp(:);
end

채택된 답변

Jon
Jon 2023년 5월 17일
Is this what you are asking for?
y = cell(3, N);
for i = 1 : N
y(:, i) = f(i);
end
  댓글 수: 1
Matteo Tesori
Matteo Tesori 2023년 5월 17일
yes thank you! works like a charm!

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Sulaymon Eshkabilov
Sulaymon Eshkabilov 2023년 5월 17일
If understood correctly your question, here is how it can be solved:
t = randn(1);
g = sin(2*pi*t);
f = repmat(g, 1,100)+rand(size(t));
N = 100;
y = cell(1,N);
for i = 1 : N
y{1,i} = f(i);
end
y
y = 1×100 cell array
Columns 1 through 13 {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} Columns 14 through 26 {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} Columns 27 through 39 {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} Columns 40 through 52 {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} Columns 53 through 65 {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} Columns 66 through 78 {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} Columns 79 through 91 {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} Columns 92 through 100 {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]} {[-0.6299]}

카테고리

Help CenterFile Exchange에서 Programming에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by