Am I doing this right? (a Math formula to Matlab language)
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
BN
le 15 Fév 2020
Réponse apportée : Giuseppe Inghilterra
le 15 Fév 2020
I needed to calculate this formula:
So I wrote a function in order to do that:
(P is x and P^ is y):
function NS = nash_sat(x, y)
% This function calculates Nash-Sutcliffe efficiency coefficient
% Detailed explanation goes here
A = sum (x-y).^2;
B = sum (x-(mean(x)).^2;
fraction = (A/B);
NS = 1-fraction;
end
This is the first time I type a math formula in Matlab. I want to know if I typed the formula in the function correctly or not.
Thank you so much.
0 commentaires
Réponse acceptée
James Tursa
le 15 Fév 2020
Modifié(e) : James Tursa
le 15 Fév 2020
You are on the right track, but have typos in the code due to parentheses issues.
A = sum( (x - y).^2 );
B = sum( (x - mean(x)).^2 );
Plus de réponses (1)
Giuseppe Inghilterra
le 15 Fév 2020
Hi,
A and B terms are wrong.
What you wrote is the square of sum of differences. Instead formula is the sum of square of differences.
The code should be written as follow:
A = sum((x-y).^2);
B = sum((x-(mean(x))).^2);
fraction = (A/B);
NS = 1-fraction;
Pay attention also to space left between "sum" and "(x-y)" in your code: it is not correct.
0 commentaires
Voir également
Catégories
En savoir plus sur Startup and Shutdown 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!