having trouble with changing Matrix name
8 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Razieh
el 23 de Abr. de 2015
I want to name my outputs A_10_1, A-10_2,..., A_10_n; A_20_1, A_20_2,...,A_m_n; Where output A_m_n was generated with variable m and it is nth replication result.
Please help me to write code thanks
1 comentario
Respuesta aceptada
Thorsten
el 25 de Abr. de 2015
You can store matrices of different sizes in a cell array:
for m=1:Nm
for n=1:Nn
A{m,n} = myfunction(m,n);
end
end
0 comentarios
Más respuestas (2)
Image Analyst
el 23 de Abr. de 2015
In short, to create a filename from two integers, do this
for m = 1 : whateverM
for n = 1 : whateverN
filename = sprintf('A_%d_%d.dat', m, n);
end
end
4 comentarios
Image Analyst
el 24 de Abr. de 2015
As Guillaume, Stephen, and now me (now that I know you want to create matrices and not filenames like you said in the subject line) all say, this is a bad idea and we recommend you read the FAQ to learn why. It's better if you just use functions to process the same named variable, within a loop to handle the 16 different cases where the array has different values, OR use a larger array so that all of your 16 arrays can be in the same single array, and you just get to them by changing the index.
Stephen23
el 23 de Abr. de 2015
Editada: Stephen23
el 19 de Jun. de 2019
2 comentarios
Jan
el 25 de Abr. de 2015
@Razieh: Please follow the links Stephen has posted. The topic of numbered names of variables has been discussed thousands of times before and this is a severely bad method of beginners. The solution is easy: NEVER hide indices in the names of variables, but use arrays instead.
Ver también
Categorías
Más información sobre Matrices and Arrays 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!