Matlab index (I tried to name a matrix to use in a loop like variables.)

I tried to name a matrix to use in a loop like variables.
for example
A(1)=[1 2;3 4]
A(2)=A(1)*2
A(3)=A(2)*2
.
.
.
A(j)=A(j-1)*2
But I can't use the notation A(j) in the loop. what should I call the j of A?

Réponses (3)

You can use cell arrays to do the task. Simple example is,
A{1} = [1 2; 3 4];
for j = 2 : 10;
A{j} = A{j-1} * 2;
end

3 commentaires

@coffee do not use braces. It not cell array instead matrix
bio lim
bio lim le 24 Juil 2015
Modifié(e) : bio lim le 24 Juil 2015
It is better to use curly braces rather than using normal brackets. For example, if you define a matrix A, then A(i) suggests the i'th element of the A matrix (as a column vector ). Moreover, your code
n=4; % define accord to your requriements
A(1)=[1 2;3 4]
for i=1:n
A(i)=A(i-1)*2;
end
won't work because in A(i) = B, the number of elements in i and B must be the same.
A{j} is the wanted matrix. The curly braces mean, that the contents of the cell array is replied, not the cell itself.

Connectez-vous pour commenter.

use the for loop approach to save time. Please define n(representing the times you want these calculations
n=4; % define accord to your requriements
A(1)=[1 2;3 4]
for i=1:n
A(i)=A(i-1)*2;
end

3 commentaires

No, you are operating upon single elements. The original poster wants to operate on entire matrices.
A(1) = [1 2; 3 4];
is going to give you an error about matrix dimensions not agreeing, as you are attempting to assign a 2 x 2 matrix into a location only large enough to store a scalar.
@Walter actually the given question required little more explanations. Specially in term of output (vector or matrix)
Either way your code A(1) = [1 2; 3 4]; will not work.

Connectez-vous pour commenter.

Either use a cell array, as coffee Murun has suggested:
A{1} = [1 2; 3 4];
for j = 2 : 10;
A{j} = A{j-1} * 2;
end
Or use a 3D-array:
A(:,:,1) = [1 2; 3 4]; % This is the same as: A = [1 2; 3 4]
for j = 2 : 10;
A(:, :, j) = A(:, :, j-1) * 2;
end

Catégories

Commenté :

Jan
le 24 Juil 2015

Community Treasure Hunt

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

Start Hunting!

Translated by