Error in mapminmax.reverse

2 vues (au cours des 30 derniers jours)
fariha Shahid
fariha Shahid le 29 Mar 2021
Hello everyone,
I am working on ANN code and I have to predict 365 data points ahead. I am scaling up the data between -1 and 1 using mapminmax command. The problem is that input data points are 150000 in number where as the predicted output has 365 data points. Thus I am facing a mismatch in dimension when applying reverse mapminmax command.
Data=load('Karachi_corr.csv');
length(Data);
x= Data(:,1:11);
y= Data(:,12);
[x2,PS] = mapminmax(x); % (150000x11)
y2 = mapminmax('apply',y,PS); % (150000x1)
% ANN Code
yPred_rev = mapminmax('reverse',yPred2,PS); % (365x1) double
Errors that it is giving me are
Error using bsxfun
Non-singleton dimensions of the two input arrays must match each other.
Error in mapminmax.reverse (line 7)
x = bsxfun(@rdivide,x,settings.gain);
Error in nnet7.process_fcn (line 41)
out1 = info.reverse(in2,out2);
Error in mapminmax (line 46)
y = nnet7.process_fcn(mfilename,x,varargin{:});
Error in ANN_Func (line 130)
yPred_rev = mapminmax('reverse',yPred2,PS);

Réponses (1)

Harshavardhan
Harshavardhan le 4 Avr 2025
To address the dimension mismatch issue in your ANN prediction, ensure you scale your input and output separately using "mapminmax".
[x2, PSx] = mapminmax(x'); % Transpose for compatibility
[y2, PSy] = mapminmax(y'); % Transpose for compatibility
% ANN Code to predict yPred2
% Reverse scaling of predicted output
yPred_rev = mapminmax('reverse', yPred2, PSy);
For more information on “mapminmax” you can type the following command in a MALTAB command window
doc mapminmax
Hope this helps.

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by