Cases function: why do I get this message "array indices must be positive integers or logical values"

Hey,
I want to wrtie the following function in matlab:
I get this message
"array indices must be positive integers or logical values"
It says there is a problem with the line:
else x1(t) = 0;
My code, if someone can help me to fix this :)
t = linspace (-5, 5, 1001);
if (abs(t) <= 1)
x1(t) = 1 - abs(t);
else x1(t) = 0;
end

답변 (1개)

You should use logical indexing. Try something like this:
t = linspace (-5, 5, 1001);
x1 = zeros(size(t)) ;
x1(abs(t)<=1) = 1 - t(abs(t)<=1);
plot(t,x1)

이 질문은 마감되었습니다.

질문:

2020년 11월 1일

마감:

2021년 8월 20일

Community Treasure Hunt

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

Start Hunting!

Translated by