How to get the highest value from the latest samples?
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Luccas S.
el 10 de Dic. de 2021
Comentada: Luccas S.
el 10 de Dic. de 2021
I have code that calculates an error for each sample, and I would like to always get the highest value from the last samples.
error(n,1)=Ia(n)-Ia_future(n,1)
p(n,1) = (1+0.2)*max(error(n-1,1))
I want to get the maximum value of the last n samples of error(n-1,1) that were calculated. The "max" above there is just to demonstrate what I'm trying to say.
2 comentarios
Rik
el 10 de Dic. de 2021
You mean like max(error((end+1-n):end,1))?
Other than that, you should really not use error as a variable name.
Respuesta aceptada
Image Analyst
el 10 de Dic. de 2021
error is a built-in function so don't call your variable that. Call it errors or differences instead.
Is this what you mean:
Ia_future = rand(5, 3) % Create sample data.
Ia = rand(5, 1)
% Initialize/preallocate p.
p = zeros(size(Ia));
[rows, columns] = size(Ia_future)
for n = 1 : rows % For every row...
% We're now on iteration "n".
% Subtract the "last" n values,
% meaning the values we've seen "so far"
% which would be the values from 1 to n.
errorsSoFar = Ia(1:n) - Ia_future(1:n,1)
% Put into an equation to get p.
p(n) = (1+0.2)*max(errorsSoFar)
end
5 comentarios
Image Analyst
el 10 de Dic. de 2021
So that would be case 1, and I gave code for that. But you didn't seem to try it. Why not?
Más respuestas (0)
Ver también
Categorías
Más información sobre Whos en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!