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 个评论

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)?

请先登录,再进行评论。

 采纳的回答

Walter Roberson
Walter Roberson 2021-1-14

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

4 个评论

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...
Okay, now I understand.
Regards.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Mathematics 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by