Write a MATLAB algorithm takes as input the vector x and computes C rowwise

1 回表示 (過去 30 日間)
Pascale Bou Chahine
Pascale Bou Chahine 2020 年 9 月 18 日
コメント済み: KSSV 2020 年 9 月 19 日
Say I have a vector x in R^3, such that x = [1 2 3]. I want to form from x, a matrix C = [1 2 3; 3 1 2; 2 3 1]. So, basically, the pattern here is that the first row of C is the vector itself, then the last entry of the first row is the first entry of the second row and the numbers (1 and 2) get shifted, and then the last entry of the second row is the first entry of the third row and the numbers (3 and 1) get shifted.
I want to write a general algorithm for any vector x in R^n, so this is what I have written:
function [C] = rowwise(x)
n = length(x);
C(1,:) = x;
for i = 2:n
for j = 1:n
C(i,j) = C(i-1,"?");
end
end
I don't know what to put instead of the question mark. And is my algorithm correct? Any other ways, please? And how to compute that same matrix C but columnwise? Thank you

回答 (1 件)

KSSV
KSSV 2020 年 9 月 18 日
Read about circshift.
  4 件のコメント
Pascale Bou Chahine
Pascale Bou Chahine 2020 年 9 月 19 日
And how to write an algorithm to get the same matrix C, but columnwise and not rowwise?
KSSV
KSSV 2020 年 9 月 19 日
You can use transpose ..

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by