MATLAB Answers

I wrote a function for a math formula, may I ask you please check my code?

1 view (last 30 days)
Hey all,
For my research, I needed to calculate some formula, So I searched everywhere, including Matlab file exchange and find nothing about the formula that I needed. Hence I decided to write a function for them and use them in my code. This is the very first time for me to write a function and also the first time to write a math formula. May I please ask you to check if where I do wrong?
Here is the formula:
And here is the function I wrote (I considered O as x and M as y):
function index_agreement = indexagreement(x,y)
%In the name of God - This function calculate
% Detailed explanation goes here
A = sum((y-x).^2);
B = abs(y - (mean(x)));
C = x - abs((mean(x)));
D = sum((B+C).^2);
index_agreement = 1 - (D);
Description: I run this function successfully, but I'm not sure about results because I believe they are not reasonable.
I want to thank you all.
Best Regards


Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 15 Feb 2020
Assuming vertical bars mean absolute value and not modulus...
You got C wrong. Try
C = abs(x - abs((mean(x)));
then you need
index_agreement = 1 - abs(A / D);
There may be more errors, but I stopped looking once I found those errors.


Show 2 older comments
Behzad Navidi
Behzad Navidi on 15 Feb 2020
I'm sorry it's my bad, jsut one thing in this line:
index_agreement = 1 - abs(A / D);
why we should add an abs?
the formula is 1-(fraction) not 1-|fraction|. in fact, in the image, they used [] as a parenthesis.
is still should be :
index_agreement = 1 - abs(A / D);
%or now I should use:
index_agreement = 1 - (A / D);
Thank you
Image Analyst
Image Analyst on 16 Feb 2020
I thought it was weird because it should be positive already, but I just saw the vertical lines on either side of the fraction so I just said to do abs. If they are brackets, then I didn't notice the little "feet" on the bottom of the brackets, and the top ones are missing because your image clipped them off. But, no, you do not need the abs().

Sign in to comment.

More Answers (0)

Sign in to answer this question.