Cross section plot for 2D plot
    11 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
I have a code to plot the quiver data.
I want to plot a 1D line plot across the 2D plot to see how the value of quiver changes from left to right alone a line.
Here is the code:
function[d]=DOMAINGENERATION_assocwithDNAPL(alpha, beta, kappa,Yo,CTD,vo)
fid = fopen('domain¶meter.dat');  % open file that will contain grid coordinate system and associated parameters
%   for i = 1:5:45;
     i=1;
% fh=figure;
    m=4+(i-1)*11844;
    n=11843+(i-1)*11844;
    M=dlmread('3d2pct.plt',',',m,0, [m 0 n 9]); %3d2pct.plt  data file
      xarray=M(:,1);
      yarray=M(:,2);
      DV_XX=M(:,8);
      DV_YY=M(:,9);
      FRONT=M(:,3);
      SF=reshape(FRONT,80,148);
      X=reshape(xarray,80,148);
      Y=reshape(yarray,80,148);
% figure;
     v = [1 0.95:1.00];
     contour(X(1,:),Y(:,1),SF,1);
     colormap([0 0 0]);
 hold on 
     quiver(xarray(1:4:end),yarray(1:4:end),DV_XX(1:4:end),DV_YY(1:4:end),1, 'k','filled');  
  hold on 
              xlabel('(m)');
              ylabel('(m)');
                  set(gcf,'color',[1 1 1]);
                  set(gca,'color','none');
              axis equal;
  %*************** Plot area ***********************************************
              axis([0 0.37 0 0.20])
  %*************************************************************************     
   end
0 commentaires
Réponses (1)
  Babak
      
 le 3 Oct 2012
        Do you need to find the intersection of a 1D line and a curve that has been plotted in a 2D plane?
Did I understand your problem correctly?
The intersection will be a whole bunch of points if I understood you correctly.
2 commentaires
  Babak
      
 le 3 Oct 2012
				OK so here's my answer:
You need to have a boundry [xmin xmax] and [ymin ymax] that you are interested in finding the intersection of a line and your curve. Now, assume that the curve is given by its points as X=[x1 x2 x3...] and Y=[y1 y2 y3 ...] and the line you want to intersect it with is given by an equation y=a*x+b, the intersection includes points like (xj,yj) that satisfies yj=a*xj+b and if you find xj in X, it may be located somewhere between x(i) and x(i+1). The corresponding Y for x(i) and x(i+1) are y(i) and y(i+1). If y(i) and y(i+1) are close enough to yj and closer than y(i-1) and y(i+2) to yj then you can conclude that (xj,yj) is an intersection point.
Voir également
Catégories
				En savoir plus sur Vector Fields dans Help Center et File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

