How to call the rows of a matrix without the for loop
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Waheeb Butt
el 12 de Dic. de 2017
Comentada: Waheeb Butt
el 12 de Dic. de 2017
Hi I have a matrix A=[1 2 3 4 5;6 7 8 9 10; 11 12 13 14 15] and I want to call each row of the matrix one by one as an input to my program. i.e, A(1,:) is taken as first input, A(2,:) is the second input and finally A(3,:), just like it is done in a loop, but is there any way that I can do the same without using a for loop.
Any help would be much appreciated.
1 comentario
Fangjun Jiang
el 12 de Dic. de 2017
Do you want MyFun(A(1,:),A(2,:),A(3,:)), or MyFun(A(1,:)), MyFun(A(2,:)), MyFun(A(3,:))? How do you plan to do it using for-loop?
Respuesta aceptada
KL
el 12 de Dic. de 2017
Probably convert them to cell array and then the use of comma-separated lists,
B = num2cell(A,2)
and then
your_program(B{:})
3 comentarios
KL
el 12 de Dic. de 2017
Editada: KL
el 12 de Dic. de 2017
...for further processing in your_program...
if you're talking about handling them inside your_program, it's pretty normal like,
function out = your_program(a,b,c)
x = a(1);
...
or if you are talking about indexing only specific elements while calling your_program, you should create your cell array with those elements.
Más respuestas (0)
Ver también
Categorías
Más información sobre Loops and Conditional Statements 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!