MATLAB: Weird result with simple code.

MATLAB and Simulink Student Suite

I want to plot two simple curves on a same graph, but one of the calculations doesn't mach up to my expectation (please see the code).
The SMF is calculated correctly, but for SCF the MATLAB gives a constant value, 0.6841. However, SCF should be 1 where Vf = 0, and as Vf approaches to 1.0 the SCF should get lower value, so it's very weird why Matlab doesn't give me the accurate value.
Do I make any mistakes in the code?
Thanks!
Vf = [0:0.1:1];
SCF = (1-1.072*sqrt(Vf))/(1-0.95*Vf)
SMF = 1-1.072*sqrt(Vf)
plot(Vf,SCF,'o',Vf,SMF,'-')

Best Answer

I think the problem is the way you divide in SCF. Try to use ./ (see the dot) when dividing two vectors.
Vf = [0:0.1:1];
SCF = (1-1.072*sqrt(Vf))./(1-0.95*Vf)
SMF = 1-1.072*sqrt(Vf)
plot(Vf,SCF,'o',Vf,SMF,'-')
Was that what you were looking for?
Related Question