Asked by harley
on 7 Aug 2013

hi, trying to display some values but am not sure how to go about it. I want to do is; find Vb at half of Vb_ev and then find the corresponding pH value at that point. see last 2 lines. any help will be appreciated.

format short

Kw = 1e-14;

Ka = 1.755388e-5;

Ca = 0.5;

Cb = 0.1;

Va = 100;

Vb = 0.05:0.05:2000;

Ma = (Ca * Va) / 1000;

Mb = (Cb .* Vb) ./ 1000;

for i = 1:length(Mb)

M_excess = Ma - Mb(i);

if abs(M_excess)<eps

Hplus = Ka * ((Ma_final * 0.999999) ./ Mb_final);

Vb_ev = Vb(i);

pH_ev = pH(end);

elseif M_excess > 0

Ma_final = (M_excess * 1000) ./ (Va + Vb(i));

Mb_final = (Mb(i) * 1000) ./ (Va + Vb(i));

Hplus = Ka * (Ma_final ./ Mb_final);

elseif M_excess < 0

OH = (M_excess * 1000 * (-1)) ./ (Va + Vb(i));

Hplus = Kw ./ OH;

end

pH(i) = -log10(Hplus);

end

%

%

Vb_Mid_Pt1 = uint16(Vb_ev)*0.5;

pH_Mid_Pt1 = pH(Vb_Mid_Pt1)

i tried the above but the pH_Mid_Pt1 gives me the value in the pH array that is equal to the actual numerical value of that from (Vb_ev)*0.5.

Answer by Richard Brown
on 7 Aug 2013

Accepted Answer

Similar to what you asked before, I think what you want is to find the Vb element that is closest to half of Vb_ev, and then pluck out the corresponding pH element. The answer is very similar to what I gave you last time:

[~, idx] = min(abs(Vb - Vb_ev/2));

Vb_Mid_Pt1 = Vb(idx);

pH_Mid_Pt1 = pH(idx);

I think what's throwing you off is the distinction between values and indices. You are wanting to find certain indices in your array that have values near other specific ones. Hence the use of min with abs, which provides the index of the closest point.

harley
on 7 Aug 2013

thanks Richard, yes i am struggling with all distinctions.

Walter Roberson
on 7 Aug 2013

Richard Brown
on 7 Aug 2013

Sign in to comment.

Opportunities for recent engineering grads.

Apply Today
## 9 Comments

## Azzi Abdelmalek (view profile)

## Direct link to this comment

https://au.mathworks.com/matlabcentral/answers/84189-displaying-indexed-values-correctly#comment_163259

## harley (view profile)

## Direct link to this comment

https://au.mathworks.com/matlabcentral/answers/84189-displaying-indexed-values-correctly#comment_163260

## Walter Roberson (view profile)

## Direct link to this comment

https://au.mathworks.com/matlabcentral/answers/84189-displaying-indexed-values-correctly#comment_163261

## Walter Roberson (view profile)

## Direct link to this comment

https://au.mathworks.com/matlabcentral/answers/84189-displaying-indexed-values-correctly#comment_163262

## harley (view profile)

## Direct link to this comment

https://au.mathworks.com/matlabcentral/answers/84189-displaying-indexed-values-correctly#comment_163264

## Walter Roberson (view profile)

## Direct link to this comment

https://au.mathworks.com/matlabcentral/answers/84189-displaying-indexed-values-correctly#comment_163265

## harley (view profile)

## Direct link to this comment

https://au.mathworks.com/matlabcentral/answers/84189-displaying-indexed-values-correctly#comment_163269

## Walter Roberson (view profile)

## Direct link to this comment

https://au.mathworks.com/matlabcentral/answers/84189-displaying-indexed-values-correctly#comment_163271

## harley (view profile)

## Direct link to this comment

https://au.mathworks.com/matlabcentral/answers/84189-displaying-indexed-values-correctly#comment_163272

Sign in to comment.