displaying values in command window
9 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
hi, trying to display some values but am not sure how to go about it, this is a pH array, Vb is volume of base added. What i am trying to do is display the midpoint to equivalence which is the half of Vb_ev and then display the corresponding pH value at midpoint, which i know is approx 4.756. see on from line 6 from the bottom.
format short
Kw = 1e-14;
Ka = 1.755388e-5;
pKa = 4.756;
%
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 = (Vb_ev)*0.5;
pH_Mid_Pt1 = i want to display pH at Vb_Mid_Pt1;
disp('The Volume is, mL:')
disp(Vb_Mid_Pt1)
disp('The pH is:')
disp(pH_Mid_Pt1)
2 Kommentare
Jan
am 6 Aug. 2013
"No luck" is a not a good description of the problem and of what you actually want. The less the readers have to guess, the more likely is a matching answer.
Akzeptierte Antwort
kedija
am 6 Aug. 2013
the reason you are getting such error is the index Vb_Mid_Pt1 is not integer. if u cast that it works fine. here you go
format short
Kw = 1e-14;
Ka = 1.755388e-5;
pKa = 4.756;
%
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 want to display pH at Vb_Mid_Pt1;
disp('The Volume is, mL:')
disp(Vb_Mid_Pt1)
disp('The pH is:')
disp(pH_Mid_Pt1)
4 Kommentare
kedija
am 6 Aug. 2013
Bearbeitet: kedija
am 6 Aug. 2013
I don't really know what your code does but Vb_ev is 500 and it is giving you the 250th value. if you want to display the 5000 value change ur code somehow to correct ur index. pH(5000) is 4.7556 .... I think you are messing something in the index.
Weitere Antworten (1)
David Sanchez
am 6 Aug. 2013
I hope this is what you want to do:
my_var = 3;
fprintf('The value of my variable is : %g \n' ,my_var);
OUTPUT:
The value of my variable is : 3
0 Kommentare
Siehe auch
Kategorien
Mehr zu Annotations finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!