how to create matrix c, where first column is vector a, and the last column is vector b without a loop
3 ビュー (過去 30 日間)
古いコメントを表示
採用された回答
Voss
2023 年 2 月 3 日
a = [1;2;3;4;5];
N = 3;
c = a+(0:N)
2 件のコメント
Les Beckham
2023 年 2 月 3 日
Nice!
Expanding on this idea for an arbitrary dimension square result:
N = 10; % desired dimension
a = 1:N;
c = a' + (0:(N-1))
その他の回答 (1 件)
Les Beckham
2023 年 2 月 3 日
編集済み: Les Beckham
2023 年 2 月 3 日
a = [1;2;3;4;5];
c = [a a+1 a+2 a+3]
If you are a beginner in using Matlab, I would suggest taking a couple of hours to go through the free tutorial that can be found here: Matlab Onramp
2 件のコメント
Les Beckham
2023 年 2 月 3 日
編集済み: Les Beckham
2023 年 2 月 3 日
I can't seem to come up with a way to do that without a loop. Assuming the result is supposed to be square, this should work and seems a bit more clear to me than your loop solution.
N = 10; % desired dimension
a = 1:N;
for i = 1:N
c(i,:) = a + i - 1;
end
disp(c)
Note that this will create the upper triangular part of the matrix, but I couldn't figure out how to generate the lower half.
c = hankel(1:N)
参考
カテゴリ
Help Center および File Exchange で Creating and Concatenating Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!