How to interpolate based on given column
    5 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Mekala balaji
      
 el 7 de Nov. de 2018
  
    
    
    
    
    Editada: madhan ravi
      
      
 el 7 de Nov. de 2018
            Hi,
I have below array(double), and want to assign 50 for maximum value and 0 for minimum value, and for the rest of the values between maxima and minima interpolation.
0.2
0.8
1.0
1.3
0.8
2.3
4.9
10.0
0.2
5
2.3
8.7
10
In this case,
0.2  -->50
10.0 -->0
for rest of the values, to interpolate between 50& 0.
0 comentarios
Respuesta aceptada
  Stephen23
      
      
 el 7 de Nov. de 2018
        
      Editada: Stephen23
      
      
 el 7 de Nov. de 2018
  
      No need to use interpolation, just some simple, efficient arithmetic:
>> V = [0.2;0.8;1.0;1.3;0.8;2.3;4.9;10.0;0.2;5;2.3;8.7;10]
V =
    0.20000
    0.80000
    1.00000
    1.30000
    0.80000
    2.30000
    4.90000
   10.00000
    0.20000
    5.00000
    2.30000
    8.70000
   10.00000
>> Vmin = min(V);
>> Vmax = max(V);
>> 50*(Vmax-V)/(Vmax-Vmin)
ans =
   50.00000
   46.93878
   45.91837
   44.38776
   46.93878
   39.28571
   26.02041
    0.00000
   50.00000
   25.51020
   39.28571
    6.63265
    0.00000
0 comentarios
Más respuestas (1)
  madhan ravi
      
      
 el 7 de Nov. de 2018
        
      Editada: madhan ravi
      
      
 el 7 de Nov. de 2018
  
      a=[0.2
  0.8
  1.0
  1.3
  0.8
  2.3
  4.9
  10.0
  0.2
  5
  2.3
  8.7
  10]
 [~,x1]= max(a)
 [~,x2]=min(a)
 a(x1)=50
 a(x2)=0
   Interpolated_values=interp1(a,linspace(a(1),a(end))); %interpolated between 0 and 50
0 comentarios
Ver también
Categorías
				Más información sobre Acquisition Using Image Acquisition Explorer 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!


