Creating for loop for a piecewise function
11 ビュー (過去 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 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!