I want vector surface plot
    3 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
Hello,
I have three vectors: Prices:1X30, Position:1X30 and Quantity:1X30 and I want to do the surface plot. I get the following error:
"Z must be a matrix, not a scalar or vector."
Your help is important.
2 comentarios
  KSSV
      
      
 el 30 de Mayo de 2022
				As Prices, Position, Quantity are three vectors, you cannot have a surface plot. You need to have one matrix of size 30x30 to have a surface plot. 
Respuestas (2)
  KSSV
      
      
 el 30 de Mayo de 2022
        Prices = 1:30 ; 
Position = 1:30 ; 
Quantity = rand(1,30) ;
Quantity = repmat(Quantity,30,1) ;
surf(Prices,Position,Quantity)
0 comentarios
  Star Strider
      
      
 el 30 de Mayo de 2022
        I am not certain what result you want.  
Try this — 
Prices = rand(1,30);                                                % Use Actual Vector
Position = rand(1,30);                                              % Use Actual Vector
Quantity = rand(1,30);                                              % Use Actual Vector
Prv = linspace(min(Prices), max(Prices), numel(Prices));
Psv = linspace(min(Position), max(Position), numel(Position));
[Pr,Ps] = ndgrid(Prv,Psv);
 Qt = griddata(Prices(:),Position(:),Quantity(:),Pr,Ps);
 figure
 surfc(Pr, Ps, Qt)
 grid on
 xlabel('Prices')
 ylabel('Position')
 zlabel('Quantity')
.
0 comentarios
Ver también
Categorías
				Más información sobre Polygons en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!




