# How to store a matrix, A, in variable X, where X is also carrying a counter "i"

2 views (last 30 days)
Neeraj Kumar on 16 Sep 2020
Commented: Neeraj Kumar on 16 Sep 2020
I have a matrix A, which I want to store in a varaible X.
Now I can do,
X=A;
But the varaible is X is having a counter i, beacuse the value of X variable in one iteration will be used in the next iteration and so on.
So, it put a counter like this;
X(i)=A;
But, in the above line, the indices error - Unable to perform assignment because the indices on the left side are not compatible with the size of the right side - is shown.
What should be the correct syntax, plaease tell me.

Ulli Srinivasu on 16 Sep 2020
Hi Neeraj,
simply create a structure.
X = struct();
X(i).A = A;
Neeraj Kumar on 16 Sep 2020
It worked!! Thanks Ulii Srinivasu!!

### More Answers (1)

Sindar on 16 Sep 2020
Simple way: add a third dimension, "pages":
X(:,:,i) = A;
But, if you only need the last iteration, it's better to store just the current and last iteration. Something like:
n=10;
m=4;
X_new = rand(n,m);
for ind=1:10
X_old = X_new;
X_new = X_old.^2;
end
Neeraj Kumar on 16 Sep 2020
Edited: Neeraj Kumar on 16 Sep 2020
Ok, i will try this X_old strategy. Thanks Walter! Thanks Sindar!

R2019a

### Community Treasure Hunt

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

Start Hunting!