Piecewise function with large time vector
조회 수: 9 (최근 30일)
이전 댓글 표시
I am having issues creating a piecewise function. I have coded the piecewise function but MatLab says (t) is set by a nonscalar operator, and gives me "Operands to the || and && operators must be convertible to logical scalar values." when I try to run the code.
clear,clc
t=0:0.001:20; %time in seconds
g = piecewise((0<t)&&(t<2),t/2,(2.001<t)&&(t<4),4./(t.^2),(4.001<t)&&(t<20),0.25);
this is what I have coded. How do I fix this issue?
Thank you.
댓글 수: 0
답변 (1개)
madhan ravi
2020년 9월 30일
g = ((0<t)&(t<2)) .* t/2 ...
+((2<=t)&(t<4)) .* (4./(t.^2))...
+((4<=t)&(t<20)) *0.25;
댓글 수: 1
madhan ravi
2020년 9월 30일
Or if you have the Symbolic Math Toolbox:
syms t
g = piecewise((0<t)&(t<2),t/2,(2<=t)&(t<4),4./(t.^2),(4<=t)&(t<20),0.25);
참고 항목
카테고리
Help Center 및 File Exchange에서 Assumptions에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!