Write a MATLAB algorithm takes as input the vector x and computes C rowwise
이전 댓글 표시
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
2020년 9월 18일
0 개 추천
Read about circshift.
댓글 수: 4
Pascale Bou Chahine
2020년 9월 18일
C = [1 2 3] ;
n = length(C) ;
iwant = zeros(n) ;
iwant(1,:) = C ;
for i = 2:n
iwant(i,:) = circshift(iwant(i-1,:),1) ;
end
Pascale Bou Chahine
2020년 9월 19일
KSSV
2020년 9월 19일
You can use transpose ..
카테고리
도움말 센터 및 File Exchange에서 Logical에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!