How do i create a large matrix with a formula?

조회 수: 1(최근 30일)
Kane OConnor
Kane OConnor 2021년 5월 17일
편집: James Tursa 2021년 5월 17일
I want to create a matrix with the pattern below for N = 1000, i.e a 1000 X 2 matrix?

답변(2개)

James Tursa
James Tursa 2021년 5월 17일
편집: James Tursa 2021년 5월 17일
N = 1000;
a = 2 * pi * f * T * (0:N-1)';
x = [cos(a) -sin(a)];

Paul Hoffrichter
Paul Hoffrichter 2021년 5월 17일
편집: Paul Hoffrichter 2021년 5월 17일
Since you did not specify T and f, I assume you wanted symbolic notation. (I picked N = 10 to show a brief output.)
N=10;
n = 0:N-1;
syms T f
vec1 = cos(2*pi*f*n/T).';
vec2 = -sin(2*pi*f*n/T).';
X = [vec1 vec2]
Output (on R2020a):
X =
[ 1, 0]
[ cos((2*pi*f)/T), -sin((2*pi*f)/T)]
[ cos((4*pi*f)/T), -sin((4*pi*f)/T)]
[ cos((6*pi*f)/T), -sin((6*pi*f)/T)]
[ cos((8*pi*f)/T), -sin((8*pi*f)/T)]
[ cos((10*pi*f)/T), -sin((10*pi*f)/T)]
[ cos((12*pi*f)/T), -sin((12*pi*f)/T)]
[ cos((14*pi*f)/T), -sin((14*pi*f)/T)]
[ cos((16*pi*f)/T), -sin((16*pi*f)/T)]
[ cos((18*pi*f)/T), -sin((18*pi*f)/T)]

Community Treasure Hunt

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

Start Hunting!

Translated by