Creating for loop for a piecewise function
33 次查看(过去 30 天)
显示 更早的评论
I have made a piecewise function using if statements that inputs Vs as a vector and outputs VL as a number. I need to loop this piecewise function for each element of the input vector, each loop I need it to display the VL output into a row vector.
if Vs<=0.6; %if this is true
VL=0;% it prints a 0
else
VL=Vs-0.6; % prints a Vs-0.6 value.
end
%I need to make a for loop that will loop this for the entire vector input of Vs and display all the values in a
% row vector.
%I have tried to make a loop as follows:
for V=0:Vs;
if V<=0.6; %if this is true
VL(V)=0;% it prints a 0
else
VL(V)=V-0.6; % prints a Vs-0.6 value.
end
end
%All this outputs is zero, and it does not loop and does not output a
%vector.
0 个评论
采纳的回答
Star Strider
2021-6-12
One problem is that MATLAB subscripts are integers greater than 0, so setting ‘V’ to 0 and using it as a subscript will fail.
Try this —
Vs = 5; % Create Value
Vv=0:Vs; % Define As A Vector
for k = 1:numel(Vv)
if Vv(k)<=0.6; %if this is true
VL(k)=0;% it prints a 0
else
VL(k)=Vv(k)-0.6; % prints a Vs-0.6 value.
end
end
VL
.
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!