Fonction à plusieurs expressions
Medamine4070
Messages postés
12
Statut
Membre
-
Pacorabanix Messages postés 3248 Date d'inscription Statut Membre Dernière intervention -
Pacorabanix Messages postés 3248 Date d'inscription Statut Membre Dernière intervention -
Bonjour,comment peux-je définir une fonction à plusieurs expressions sur matlab suivant les valeurs de la variable comme suit par exemple :
pour t=0 à 2
f(t)=5*sin(5*t) si -3<f<3
f(t)=3 si f>3
f(t)=-3 si f<-3
ou au moin comment peux-je la tracer suivant cette condition.
pour t=0 à 2
f(t)=5*sin(5*t) si -3<f<3
f(t)=3 si f>3
f(t)=-3 si f<-3
ou au moin comment peux-je la tracer suivant cette condition.
A voir également:
- Fonction à plusieurs expressions
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide
- Fonction somme excel - Guide
2 réponses
tu définis une fonction y=f(t) comme une fonction habituelle en matlab, et tu utilises un if.
mais je ne suis pas sûr de te suivre :
f(t)=5*sin(5*t) si -3<f<3
f(t)=3 si f>3
f(t)=-3 si f<-3
donc en gros ta fonction c'est la première expression, mais tu la forces à rester entre 3 et -3 ?
tu peux faire un truc du genre :
y= 5*sin(5*t)
if (y<-3) y=-3
if (y>3) y=3
(je ne suis pas sûr de ma syntaxe, mais tu comprends ce que je veux dire ?)
Ensuite tu fais un plot de ta fonction pour des valeurs de t que tu choisis, comme tu le ferais avec une autre fonction.
mais je ne suis pas sûr de te suivre :
f(t)=5*sin(5*t) si -3<f<3
f(t)=3 si f>3
f(t)=-3 si f<-3
donc en gros ta fonction c'est la première expression, mais tu la forces à rester entre 3 et -3 ?
tu peux faire un truc du genre :
y= 5*sin(5*t)
if (y<-3) y=-3
if (y>3) y=3
(je ne suis pas sûr de ma syntaxe, mais tu comprends ce que je veux dire ?)
Ensuite tu fais un plot de ta fonction pour des valeurs de t que tu choisis, comme tu le ferais avec une autre fonction.
merci beaucoup mon ami mais j'ai trouvé une méthode trés intelligente il suffit de faire :
plot(t,min(max(f,-3),3)) ce qui marche parfaitement
ou faire une fct prédifinie comme suit
function res=mafonction(t)
res=5*sin(5*t)
res(res>3)=3;
res(res<-3)=-3;
et puis tu fait l'appel à cette fonction :
plot(t,mafonction);
plot(t,min(max(f,-3),3)) ce qui marche parfaitement
ou faire une fct prédifinie comme suit
function res=mafonction(t)
res=5*sin(5*t)
res(res>3)=3;
res(res<-3)=-3;
et puis tu fait l'appel à cette fonction :
plot(t,mafonction);