Select the correct data from matrix

2 次查看(过去 30 天)
Hello. I have the following problem: For a product I predict the prices it will have the next day (24 prices). I use 5 models to predict. So I have 5 different predictions. I put these predictions in a matrix A (1X120). Next, I calcuate the error resulting between the acual values and the predicted values of each model and place the results in matrix B (24X5). Then, I select the smallest error for each one hour out of 24 and I put the result in matric C(1X24). What I am trying to do is in another matrix (for example D) to set the prediciton values that correspond to each error from matrix C. But beacuse the errors are different evry time I run the code, how can I find the corresponding values from matrix A? Your help is important!!!!

回答(1 个)

Rik
Rik 2020-6-11
You're probably using min to select the smallest value, so you should use the second output to find the index of those values. Then you can use those col indices to find the linear indices in A.
  4 个评论
stelios loizidis
stelios loizidis 2020-6-12
I have read the documentation of min function. However, what I am trying to do is to have a separate matrix for each minimum error in matrix C, to have the corresponding value provided by matrix A. Below I put a piece of code
A=[]; % 1X120: predicted values
B=[]; % there errors:Actual values-Predicted Valeus
for i=1:24
C(i)=min(B(i,:)) % In matrix C there are the small error from each row of matrix B
end
Rik
Rik 2020-6-12
You can use the second output argument of min to find the index that contains the minimum value. If you know how the positions in B relate to the positions in A, you can use that to translate those indices in B to indices in A.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Get Started with Statistics and Machine Learning Toolbox 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by