How do i label values in a mat file and save it in another mat file in matlab?

2 Ansichten (letzte 30 Tage)
I have a mat file of 732 x 1 DOUBLE named as EnginePower. I used the mean function to find the average value of my engine power, i would first like to compare all the values against my mean value and those that are lower than the mean i would like to label it as -1 and those higher than mean as 1 in another new mat file. I'm wondering if this is possible ?

Akzeptierte Antwort

Image Analyst
Image Analyst am 28 Jan. 2015
Try this:
storedStructure = load(inputFileName);
EnginePower = storedStructure.EnginePower;
meanValue = mean(EnginePower);
logicalIndex = EnginePower > meanValue; % Find elements > mean
% Create a new output matrix
output = logicalIndex; % Initialize - now it's 0 and 1.
% Now set 0's to -1
output(logicalIndex) = -1;
% Write out
save(outputFileName, 'output');
  1 Kommentar
crixus
crixus am 29 Jan. 2015
Thanks for your reply ! I followed your instruction and the code works ! my svm is able to run successfully ! but i have one question when i use this output(logicalIndex) = -1; how come the 0 in the output file located in my workspace does not change to -1 ??

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by