Values of vectors in matrix (changes in time)
4 ビュー (過去 30 日間)
古いコメントを表示
martin martin
2019 年 3 月 11 日
コメント済み: martin martin
2019 年 3 月 11 日
Hello guys, how may I do this..
I have 4 vectors (signals in time)
t =0:pi/20:4*pi;
x1 = cos(t);
x2 = cos(2*t);
x3 = cos(3*t);
x4 = cos(4*t);
And I want to put current value of signal to matrix:
x = [x1 x3]
[x2 x4]
But for t = 0 values of signals in t = 0; for t = t0 + t_step ... etc, Just changes values in matrix in time, I hope you understard :)
Any idea?
0 件のコメント
採用された回答
Enthusiastic Student
2019 年 3 月 11 日
Since all the x variables are functions of the same t variable you should be able to create a matrix by:
for m = 1:length(t)
x(m,:,:) = [x1(m) x2(m);x3(m) x4(m)];
end
This should create a multidimensional array with the first dimension having the same length as t and the two other dimension having a length of 2.
x(10,:,:)
will access the 2x2 matrix for t = t0+9*t_step.
その他の回答 (2 件)
Andrei Bobrov
2019 年 3 月 11 日
編集済み: Andrei Bobrov
2019 年 3 月 11 日
t =0:pi/20:4*pi;
x =reshape(cos((1:4)'*t),2,2,[]);
0 件のコメント
KSSV
2019 年 3 月 11 日
t =0:pi/20:4*pi;
x1 = cos(t);
x2 = cos(2*t);
x3 = cos(3*t);
x4 = cos(4*t);
A = zeros(2,2,length(t)) ;
for i = 1:length(t)
A(:,:,i) = [x1(i) x3(i) ; x2(i) x4(i)] ;
end
It can eb achieved without loop also. Read about reshape.
0 件のコメント
参考
カテゴリ
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!