- if does not change subsets of an array like that (you would need to use if inside of a loop).
- You also need to read the if documentation to know how it behaves with non-scalar conditions.
- MATLAB does not have ternary logical operators like 0<=x<1. What you wrote is equivalent to (0<=x)<1 which is equivalent to either 0<1 or 1<1 (but the first case will return true when you don't expect it to).
how can i plot the function of each function?
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I want to plot this function
f(x)=sinx, 0<=x<1
0, elsewhere
Then i wrote code for this function
x=-5:0.01:5;
if 0<=x<1
f=sinx;
else
f=0;
end
plot(x,y);
but when i plotted this code then, there was nothing on the graph
what's wrong on this code? and how can i plot this function?
0 commentaires
Réponse acceptée
Stephen23
le 16 Mai 2020
Modifié(e) : Stephen23
le 16 Mai 2020
"what's wrong on this code?"
The MATLAB way is to use logical indexing, e.g.:
>> x = -5:0.01:5;
>> y = sin(x);
>> y(x<0|x>=1) = 0;
>> plot(x,y)
3 commentaires
Stephen23
le 17 Mai 2020
Low-level languages: loops and ifs
High-level languages: functions and comprehensions
MATLAB: arrays and indexing
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Matrix Indexing dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!