Rescale values based on a particular value
3 次查看(过去 30 天)
显示 更早的评论
Hi,
I have a .csv file with ~200k values. I want to rescale the values to range -1 to +1. I know the rescale function can do this.
However, what I want to do is, I want the scaling to happen based on the max and min range that I provide and not the max and min values in the file itself. To give an example: the file contains values ranging from 2500-2800. I want to rescale it from -1 to +1 but -1 should correspond to 2300 and +1 should correspond to 3000.
How can I do it? I don't think rescale function provides this functionality. Is there any function for it? I have attached my file.
Thanks, Gagan
0 个评论
采纳的回答
Simon Chan
2022-3-13
Try the following:
data = readmatrix('https://www.mathworks.com/matlabcentral/answers/uploaded_files/925044/w3.csv');
rescale_data = rescale(data,-1,1,'InputMin',2300,'InputMax',3000);
subplot(2,1,1);
plot(data);
ylim([2300 3000]);
subplot(2,1,2);
plot(rescale_data);
5 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Audio I/O and Waveform Generation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!