How to call the rows of a matrix without the for loop
4 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
Fangjun Jiang
2017 年 12 月 12 日
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?
採用された回答
KL
2017 年 12 月 12 日
Probably convert them to cell array and then the use of comma-separated lists,
B = num2cell(A,2)
and then
your_program(B{:})
3 件のコメント
KL
2017 年 12 月 12 日
編集済み: KL
2017 年 12 月 12 日
...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.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!