Using a for loop to print function values

2 views (last 30 days)
I am trying to make a function that inputs Vs and outputs 0 if Vs<=0.6, and outputs VL-0.6 if Vs>0.6. I need this function to loop for a series of input Vs vector of values, and output a vector of values based on the function. The code I wrote currently keeps overriding the VL value and outputs only one scalar value. How do I make it output a vector of values?
for k = 1:length(V);
if Vs(k)<=0.6; %if this is true
VL(k)=0;% it prints a 0
VL(k)=Vs-0.6; % prints a Vs-0.6 value.

Accepted Answer

Scott MacKenzie
Scott MacKenzie on 15 Jun 2021
Edited: Scott MacKenzie on 15 Jun 2021
Seems you are confusing Vs with V. And what is VL-0.6 in your question? Try this... (outputs a vector of values)
V = rand(1,10); % test data --> your inputed Vs
for k = 1:length(V)
if V(k) <= 0.6 % if this is true
VL(k) = 0; % it prints a 0
VL(k) = V(k) - 0.6; % prints a V-0.6 value
Actually, it is not clear what you are trying to do, but the code above outputs a vector for VL -- your main objective, if I understand correctly.

More Answers (0)


Community Treasure Hunt

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

Start Hunting!