Effacer les filtres
Effacer les filtres

How to call the rows of a matrix without the for loop

8 vues (au cours des 30 derniers jours)
Waheeb Butt
Waheeb Butt le 12 Déc 2017
Commenté : Waheeb Butt le 12 Déc 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 commentaire
Fangjun Jiang
Fangjun Jiang le 12 Déc 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?

Connectez-vous pour commenter.

Réponse acceptée

KL
KL le 12 Déc 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 commentaires
KL
KL le 12 Déc 2017
Modifié(e) : KL le 12 Déc 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.
Waheeb Butt
Waheeb Butt le 12 Déc 2017
Thanks a lot, Appreciated :)

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by