Filter löschen
Filter löschen

Rescale values based on a particular value

1 Ansicht (letzte 30 Tage)
Giggs B.
Giggs B. am 13 Mär. 2022
Kommentiert: Giggs B. am 14 Mär. 2022
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

Akzeptierte Antwort

Simon Chan
Simon Chan am 13 Mär. 2022
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 Kommentare
Image Analyst
Image Analyst am 13 Mär. 2022
Maybe try soundsc() which scales audio so you can hear it.
Giggs B.
Giggs B. am 14 Mär. 2022
Hi, I think soundsc() does the samething what "rescale + sound" functions together do.
However, rescale also provides the flexibiity of setting 'InputMin' and 'InputMax' values which soundsc() does not provide.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Audio I/O and Waveform Generation finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by