a function just valid over a certain range

Hello everyone, let me ask
a formula is expressed mathematically as follows
Y = x^2 + 3x + 1 , for 2<x<8;
Y = 0 for else (x<2 or x>8)
then I would plot Y value for Y within 0<x<10.
in excel I succeeded by writing the following formula
=IF(AND(x >= 2, x<=8), x^2+3x+1, 0)
with similar logic, I write this in Matlab
x = 0:0.1:10 ;
if 2 <= x <= 8
y = x.^2+3.*x+1 ;
else
y = 0
end
plot(x,y)
please see the graph above, which for the value of Y at x < 2 is not 0

1 comentario

The simple MATLAB approach is to use logical indexing:
x = 0:0.1:10;
y = x.^2+3.*x+1;
y(x<2 | x>8) = 0;
plot(x,y)

Iniciar sesión para comentar.

 Respuesta aceptada

VBBV
VBBV el 31 de Jul. de 2023
x = 0:0.1:10 ;
for k = 1:length(x)
if x(k) >= 2 & x(k)<= 8
y(k) = x(k).^2+3.*x(k)+1 ;
else
y(k) = 0;
end
end
plot(x,y)

2 comentarios

Use the logical condition to check for values lying between 2 and 8 as below
if x(k) >= 2 & x(k)<= 8
Satriyo
Satriyo el 31 de Jul. de 2023
Thanks for your answer.
Best Regards,

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Language Fundamentals en Centro de ayuda y File Exchange.

Preguntada:

el 31 de Jul. de 2023

Comentada:

el 31 de Jul. de 2023

Community Treasure Hunt

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

Start Hunting!

Translated by