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 Commento

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)

Accedi per commentare.

 Risposta accettata

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 Commenti

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

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su 2-D and 3-D Plots in Centro assistenza e File Exchange

Richiesto:

il 31 Lug 2023

Commentato:

il 31 Lug 2023

Community Treasure Hunt

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

Start Hunting!

Translated by