simple Equation, writing formula

I Truly appreciate if somebody check my code. I should measure a parameter of a long vector and I have wrtten the code but my prof. says it is something wrong. I am new in MATLAB:( .Thank you.
The equation is:
RC = ½(deltaVp/averageVp + deltaRHO/averageRHO). % reflection coefficients
My code is:
for j=2:l;
r2(j)=1/2.*((v(j)-v(j-1))/(v(j)+v(j-1))+(d(j)-d(j-1))/(d(j)+d(j-1))); % reflection coefficients
end

2 Commenti

Hi, for the average of a vector shouldn't you use 'mean' or 'sum' and then divide by the length of the vector (number of elements)?
Thank you!

Accedi per commentare.

 Risposta accettata

Walter Roberson
Walter Roberson il 14 Gen 2021

0 voti

Average is sum divided by two. You do not divide by two.

4 Commenti

Bobby Fischer
Bobby Fischer il 14 Gen 2021
Modificato: Bobby Fischer il 14 Gen 2021
I think the problem is, the way she has it written could be adding some (almost all) elements twice.
No, because sum of the result is not taken. You get a local result at each point.
Because of the way the equation is structured, the easiest way to correct the problem is to remove the leading 1/2. Each of the mean involves dividing by 2 but because you are dividing by that the effect is a multiplication by 2 when you leave out the division by two. The denominator is the sum of two terms that each have this issue, so the multiplication is in common and can be factored out. This leads to 1/2 times 2 times the + that has the divisions omitted and the 1/2 and 2 cancel. Therefore remove the 1/2 will give a mathematical correction.
Of course instead putting the divisions by 2 into the code will give you code that is easier to match to the formula...
Thank you!
Okay, now I understand.
Regards.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Mathematics in Centro assistenza e File Exchange

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by