Hi
I have two matrices T and Q, and I want to plot the corresponding elements of them such as in:
T = randi(10,10)
Q = randi(10,10)
hold on
for i = 1:10
for j = 1:10
plot(T(i,j),Q(i,j))
end
end
But the thing is that the matrices are symmetric, and for reasons of complexity I do not want to go through redundant elements twice..what can I do? Thanks

답변 (3개)

J. van Delft
J. van Delft 2014년 6월 18일

1 개 추천

Hi,
First of all the matrices are not symmetric. If they would be multiplying T with its transpose T' would give an identity matrix, which is not the case.
If I understand your question correctly you do not want to plot elements in T and Q that are equal? What you could do then is add a comparison in the inner for-loop. If the elements are equal, break the loop:
T = randi(10,10)
Q = randi(10,10)
hold on
for i = 1:10
for j = 1:10
if T(i,j) == Q(i,j)
break
end
plot(T(i,j),Q(i,j))
end
end
Let me know if this answers your question.
J. van Delft

댓글 수: 2

MiauMiau
MiauMiau 2014년 6월 19일
well this was example code. the matrices in my code are symmetric.
MiauMiau
MiauMiau 2014년 6월 19일
No, so I want to plot all the Elements of T and Q which have the same index but if the pairs happen to have values as already encountered I do not want them to be considered.. so for [1 4; 4 5] and [2 3; 3 6] the pairs to be plottet would be (1/2), (4/3),(4/3),(5/6) but the repeated (4/3) should not be considered...

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

Andrei Bobrov
Andrei Bobrov 2014년 6월 19일
편집: Andrei Bobrov 2014년 6월 19일

1 개 추천

T = randi(20,10); %
Q = randi(20,10); %
T = tril(T) + tril(T,-1)'; %
Q = triu(Q) + triu(Q,1)'; % here we creating symmetric matrices
tt = tril(ones(size(T))) > 0;
plot(T(tt),Q(tt));
Joseph Cheng
Joseph Cheng 2014년 6월 18일
편집: Joseph Cheng 2014년 6월 18일

0 개 추천

What you can do is use the unique() function
example:
T=randi(10,10);
Q=randi(10,10);
temp = [T(:) Q(:)];
utemp = unique(temp,'rows','legacy');
figure,plot(utemp(:,1),utemp(:,2),'.');
the unique will get rid of any repeating pairs leaving only unique elements.

댓글 수: 1

MiauMiau
MiauMiau 2014년 6월 19일
thats not doing what i want at all..I always want to plot the elements with the same index, and if these pairs are repeated they should not be plotted..

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

카테고리

도움말 센터 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

태그

질문:

2014년 6월 18일

편집:

2014년 6월 19일

Community Treasure Hunt

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

Start Hunting!

Translated by