Units help to plot
    3 views (last 30 days)
  
       Show older comments
    
I want to convert values in a table column to a range of -1 to 1 units.
My -1 value is -800
My 0 value is 300 
My 1 value is 800
The column values go from 0 to 800.
How can I do this? 
Thanks!
1 Comment
  the cyclist
      
      
 on 20 Sep 2021
				
      Edited: the cyclist
      
      
 on 20 Sep 2021
  
			x = [-800 300 800];
y = [-1 0 1];
figure
h = plot(x,y,'.:');
set(h,'MarkerSize',32)
Nina, an infinite number of curves can be drawn through the three points you have specified. None of them are linear (so it is not what I would think of as a simple "conversion".)
Do you have any additional information that would be helpful in what you are trying to do? As I have mentioned in another of your questions, please try to be complete in what you are asking for.
Accepted Answer
  Walter Roberson
      
      
 on 21 Sep 2021
        values = randi([0 800], 1, 10)
b = [-800 300 800];
mask = values < b(2);
scaled(mask) = (values(mask)-b(1))./(b(2)-b(1));
scaled(~mask) = (values(~mask)-b(2))./(b(3)-b(2));
scaled
0 Comments
More Answers (0)
See Also
Categories
				Find more on Logical in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


