MATLAB Answers

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

17 views (last 30 days)
crixus on 28 Jan 2015
Commented: crixus on 29 Jan 2015
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 ?


Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 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 Comment

crixus on 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 ??

Sign in to comment.

More Answers (0)