Ploting stack of matrices

조회 수: 2 (최근 30일)
sharay
sharay 2019년 10월 18일
댓글: Walter Roberson 2019년 10월 21일
Hi,
I have stack of 100 A= 4*4 matrices ,and a vector of B= 1*100 elements. I want to plot (B,A) . What are possible solutions for this ? Do I have to make a function that will respond to one matrix ata time for certain element ?
Also in matlab if you have 100*4*4 matrix what does it mean?
  댓글 수: 4
Walter Roberson
Walter Roberson 2019년 10월 18일
How many lines do you expect to be drawn as a result?
sharay
sharay 2019년 10월 21일
In total 16 lines.

댓글을 달려면 로그인하십시오.

답변 (3개)

KALYAN ACHARJYA
KALYAN ACHARJYA 2019년 10월 18일
편집: KALYAN ACHARJYA 2019년 10월 18일
A=randi(100,[100 4 4]);
%........... ^[rows column number of stack planes]
B=randi(100,[100 4]);
[r c d]=size(A); % d represents here number of stacks planes
for i=1:d
plot(A(:,:,i),B);
hold on;
end
Read about multidimentinal array here
But if I have to generate 100 4*4 matrices what should be the procedure?
Are you looking for 100 stacks for 4x4 matrics, then
A=randi(100,[4 4 100]);
%.......^ represents maximum allowed values in the randomly generated matrics
Non Integer, then
A=rand(4,4,100);
Hope it helps!
  댓글 수: 6
sharay
sharay 2019년 10월 18일
yes, this is the problem. for one element i have 16 elements. so for 100 elements on x-axis , i have to plot 1600 elements .
KALYAN ACHARJYA
KALYAN ACHARJYA 2019년 10월 18일
편집: KALYAN ACHARJYA 2019년 10월 18일
You can talk with me through my number (please check profile)

댓글을 달려면 로그인하십시오.


sharay
sharay 2019년 10월 18일
Thnak you . I solved this issue. Can someone help me with ploting like now i have 100*1 matrix and I want to plot it with 4*4 matrices of 100 layers. Should i assign function ?

Walter Roberson
Walter Roberson 2019년 10월 18일
If you have x being a 100 x 1 matrix, and y being as 100 x 4 x 4 matrix, then
plot(x, reshape(y, size(y,1), []))
This would create 16 lines, in the order y(:,1,1), y(:,2,1), y(:,3,1), y(:,4,1), y(:,1,2), y(:,2,2), y(:,3,2) and so on.
  댓글 수: 2
sharay
sharay 2019년 10월 21일
Input is 1x100 and output is 4x4x100.
Walter Roberson
Walter Roberson 2019년 10월 21일
Yp =
reshape( permute(y, [3 1 2]), [], 16);
plot(x, Yp) ;

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by