How to assign values to a mesh based on xyzc points?
    3 vues (au cours des 30 derniers jours)
  
       Afficher commentaires plus anciens
    
load('variables.mat')
[xq, yq, zq] = meshgrid(min(x):12.5:max(x),min(y):12.5:max(y),min(z):2:max(z));
cq = nan(size(xq));
[~, pos] = ismember([x,y,z],[xq(:),yq(:),zq(:)],'rows');
cq(pos) = c;
The code creates a mesh grom the x y z data attached. I want to assign a c value to the mesh points that coincide with my original xyzc and left the rest of the points as nan value from "cq".
My indexes from ismember does not work because i havent been able to create a mesh that coincides with all the points from my xyz.
Thanks in advance,
3 commentaires
  Adam Danz
    
      
 le 9 Août 2021
				The biggest problem is that your data are floating decimals with very high precision.  For example, 
format long
z(end)
ans =
     1.898261677911120e+03
so it's very unlikely that you'll generate perfect matches with a simple grid.  
Without knowing the main goal I can't suggest an alternative.
Réponses (1)
  KSSV
      
      
 le 9 Août 2021
        load('variables.mat') ;
nx = length(unique(x)) ; 
ny = length(unique(y)) ; 
m = 100 ; n = 100 ; 
xi = linspace(min(x),max(x),m) ; 
yi = linspace(min(y),max(y),n) ; 
[X,Y] = meshgrid(xi,yi) ;
Z = griddata(x,y,z,X,Y) ; 
C = griddata(x,y,c,X,Y) ; 
surf(X,Y,Z,C) 
shading interp 
colorbar
Voir également
Catégories
				En savoir plus sur Interpolation 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!



