Re-sizing vectors?
2 views (last 30 days)
Show older comments
Vittorio Rossi
on 19 May 2018
Commented: Ameer Hamza
on 20 May 2018
I am working on a project that works with angles, and I have at my disposal a vector, that shows the angle elaborated and acquired from a sensor.
The only problem is that when I plot the vector, the y-axis has different values from the eulerian angle (see the image attached). I know which sample stands for the maximum angle and which sample stands for the minimum angle, but I can't find a way to " re-sizing" the vector by associating maximum and minimum angle and change all the samples variating within that range.
Does anyone have any suggestions on the code? Perhaps a function?
Thank you in advance for your time MatLAB community!!
0 Comments
Accepted Answer
Ameer Hamza
on 19 May 2018
If you want to change the range of the y-values, you can do it by first normalizing and then denormalizing to your required range
x = [1xn signal]
xNormalized = (x-min(x))/(max(x)-min(x))
newMin = 0;
newMax = 90; % new minimum and maximum value of the signal you want
xNew = xNormalized*(newMax - newMin) + newMin;
xNew will have same shape of x but varies from newMin to newMax.
2 Comments
More Answers (1)
Steven Lord
on 19 May 2018
When you call the plot function with one input argument, the X coordinates used for the plot are the indices. In this example, V(1) is plotted at x = 1, V(2) at x = 2, etc. I added the line and marker specification to make it easier to see the actual points plotted.
figure
V = 1:2:19;
plot(V, '-o') % X coordinates 1:10
If instead you wanted to plot V(1) at x = 0.5, V(2) at x = 1, V(3) at x = 1.5, etc. you need to specify the vector of x coordinates in your plot call like this:
figure
x = (1:10)./2;
V = 1:2:19;
plot(x, V, '-o') % X coordinates 0.5, 1.0, 1.5, etc.
0 Comments
See Also
Categories
Find more on Graphics Object Programming 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!