2 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.

Ulli Srinivasu
on 16 Sep 2020

Hi Neeraj,

simply create a structure.

X = struct();

X(i).A = A;

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

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.

Opportunities for recent engineering grads.

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

Start Hunting!
## 0 Comments

Sign in to comment.