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

3 views (last 30 days)
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.

Accepted Answer

Ulli Srinivasu
Ulli Srinivasu on 16 Sep 2020
Hi Neeraj,
simply create a structure.
X = struct();
X(i).A = A;
  3 Comments

Sign in to comment.

More Answers (1)

Sindar
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
  4 Comments
Walter Roberson
Walter Roberson on 16 Sep 2020
What you are seeing displayed is not two matrices, it is a way to represent a multidimensional matrix of numeric values on the command window.
I would suggest that you use SIndar's X_old strategy.
Neeraj Kumar
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!

Sign in to comment.

Products


Release

R2019a

Community Treasure Hunt

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

Start Hunting!