Matlab index (I tried to name a matrix to use in a loop like variables.)
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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?
0 comentarios
Respuestas (3)
bio lim
el 24 de Jul. de 2015
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 comentarios
bio lim
el 24 de Jul. de 2015
Editada: bio lim
el 24 de Jul. de 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.
Jan
el 24 de Jul. de 2015
A{j} is the wanted matrix. The curly braces mean, that the contents of the cell array is replied, not the cell itself.
Muhammad Usman Saleem
el 24 de Jul. de 2015
Editada: Muhammad Usman Saleem
el 24 de Jul. de 2015
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 comentarios
Muhammad Usman Saleem
el 24 de Jul. de 2015
@Walter actually the given question required little more explanations. Specially in term of output (vector or matrix)
Jan
el 24 de Jul. de 2015
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
0 comentarios
Ver también
Categorías
Más información sobre Matrix Indexing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!