How to zero the data points behind the line of figure?

2 visualizzazioni (ultimi 30 giorni)
I have a figure of plot3 and I would like to making the data contacting the blue line to zero.
How to zero the data points behind (contacting) the line..
clear all;clc;close all;
data = ones(100,200);
x = (0:1:size(data,2)-1)*0.1;
y =(0:1:size(data,1)-1)*0.1;
surf(x,y,data*100); hold on;
grid off;
colorbar;
view([0 90])
shading interp;
set(gca,'xlim',[min(x)-2 max(x)+2],'ylim',[min(y)-2 max(y)+2])
x = [2.4;13.9];
y = [-0.5;9.8];
plot3(x,y,1000*ones(length(x),length(y)),'b','LineWidth',10)

Risposta accettata

KSSV
KSSV il 28 Gen 2021
Modificato: KSSV il 28 Gen 2021
data = ones(100,200);
x = (0:1:size(data,2)-1)*0.1;
y =(0:1:size(data,1)-1)*0.1;
x1 = [2.4;13.9];
y1 = [-0.5;9.8];
p = polyfit(x1,y1,1) ;
x2 = x ;
y2 = polyval(p,x2) ;
[X,Y] = meshgrid(x,y) ;
idx = knnsearch([X(:) Y(:)],[x2' y2']) ;
data(idx) = 0 ;
surf(x,y,data*100); hold on;
grid off;
colorbar;
view([0 90])
shading interp;
set(gca,'xlim',[min(x)-2 max(x)+2],'ylim',[min(y)-2 max(y)+2])
% plot3(x1,y1,1000*ones(length(x1),length(y1)),'b','LineWidth',10)
  2 Commenti
Smithy
Smithy il 28 Gen 2021
Modificato: Smithy il 28 Gen 2021
Thank you very much for your kind answer. I think that the answer is not the case for my question.
I hope to make the "data = ones(100,200);" contated line to zero.
Is there any hints or helps?

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Line Plots in Help Center e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by