How to populate a new vector by extracting only certain elements from another vector?

조회 수: 8 (최근 30일)
Hi everyone!
I would like to obtain two vectors new_vrx (with size 2xn) and new_vry (with size 2xn).
I would like to keep only those segments for which both the starting and ending point coordinates have values Vq1 = 0 and Vq2 = 0.
Vq1 = interp2(Xpix,Ypix,double(M),vrx(1,:),vry(1,:));
Vq2 = interp2(Xpix,Ypix,double(M),vrx(2,:),vry(2,:));
Could you help me? Thanks in advance

채택된 답변

Konrad
Konrad 2022년 6월 15일
Hi Loren,
if understood your question correctly, this should do what you want:
load('reticolo2D.mat');
[Xpix, Ypix] = meshgrid(1:321,1:241);
Vq1 = interp2(Xpix,Ypix,double(M),vrx(1,:),vry(1,:));
Vq2 = interp2(Xpix,Ypix,double(M),vrx(2,:),vry(2,:));
new_vrx = vrx(1,Vq1==0);
new_vry = vry(1,Vq1==0);
figure;plot(new_vrx,new_vry,'b-')
and
new_vrx = vrx(2,Vq2==0);
new_vry = vry(2,Vq2==0);
figure;plot(new_vrx,new_vry,'b-')
Best, Konrad
  댓글 수: 3
Konrad
Konrad 2022년 6월 15일
I don't understand what your data represents, but how about this:
load('reticolo2D.mat');
[Xpix, Ypix] = meshgrid(1:321,1:241);
Vq1 = interp2(Xpix,Ypix,double(M),vrx(1,:),vry(1,:));
Vq2 = interp2(Xpix,Ypix,double(M),vrx(2,:),vry(2,:));
new_vrx = vrx(:,Vq1==0&Vq2==0);
new_vry = vry(:,Vq1==0&Vq2==0);
figure;plot(new_vrx,new_vry,'b-')
Image Analyst
Image Analyst 2022년 6월 15일
"it doesn't answer my question." <== Well now you've accepted the answer so people will (rightfully?) assume that you have since figured it out.

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 2-D and 3-D Plots에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by