Create FOR loop to insert the matrix elements row-wise
18 ビュー (過去 30 日間)
古いコメントを表示
I want to create a matrix in an equivalent way as it is possible in C++: just to insert the elements one after the other with a loop like:
cout<<"\nEnter elem. of aug. matrix row-wise:\n";
for (i=1;i<=n;i++) {
for (j=1;j<=n+1;j++) {
cin>>a[i][j]; //input the elements of array
}
}
It is possible to make this in MAtlab ? Something like below, but without to press enter after each element:
% lets say, A=[1 2 ; 5 7 ] but I want just to write only 1 2 5 7 and press ENTER.
n=input('matrix dimension:')
for i=1:n
for j=1:n
a(i,j)=input(' Insert the elements row wise, one after the other:')
end
end
a=reshape(a,n,n)
0 件のコメント
回答 (3 件)
KSSV
2020 年 8 月 16 日
編集済み: KSSV
2020 年 8 月 16 日
n=input('number of elements = ') % n = 4
for i=1:n;
a(i)=input('elements-'); % 1 2 5 7
end
a=reshape(a,n/2,n/2)' % not should be even for this example
2 件のコメント
KSSV
2020 年 8 月 16 日
How about this? When elements is prompted, you enter [1 2 5 7]. Type your values in square brackets.
n=input('number of elements = ') % n = 4
a = input('elements-'); % [ 1 2 5 7]
a=reshape(a,n/2,n/2)' % not should be even for this example
Walter Roberson
2020 年 8 月 16 日
% lets say, A=[1 2 ; 5 7 ] but I want just to write only 1 2 5 7 and press ENTER.
n = input('matrix dimension:')
for i=1:n
s = input( sprintf('Insert the elements for row #%d, all on one row: ', i), 's');
a(i,:) = str2double(strsplit("[" + s + "]"));
end
参考
カテゴリ
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!