How to Recall Matrix

7 views (last 30 days)
AR
AR on 1 Dec 2015
Commented: Walter Roberson on 1 Dec 2015
I've saved a 20,000 [3 10] sets of matrixes, called V{count}, while going through a loop of 20,000 iterations and need to recall these in order for a second loop, with a counter m.
How can I recall these in the second loop as I get the error, "Cell contents assignment to a non-cell array object" when coding the following below:
for m = 1 : 1493
X{m}=V{1:count}; % let X = V so when during loop 1 or 2 or 3 (m=1 or 2 or 3),
% the 1st then 2nd then 3rd V matrix is applied to the Y function below
Y(m)=c+X(m);
end

Accepted Answer

Walter Roberson
Walter Roberson on 1 Dec 2015
What is count?
V{1:count} creates a comma separated list of the first count entries in V, and each time through the loop you assign all count of them to X. Why are you not using
Y(m) = c + V{m};
?
But what size of output are you expecting? Each V{m} is 3 x 10, so presumably c + V{m} would be 3 x 10 as well. You are trying to store that entire matrix into a single element of Y. You would need to use
Y{m} = c + V{m};
or you would need to use
Y(:,:,m) = c + V{m};
  2 Comments
AR
AR on 1 Dec 2015
Thanks Walter. Yes, Y(m) = c + V{m} worked. The simple, straight forward answers are often the best, as was proven in this case.
Walter Roberson
Walter Roberson on 1 Dec 2015
How are you storing the entire array in Y(m) ? Is c symbolic, or is V{m} symbolic?

Sign in to comment.

More Answers (0)

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!