Aide Scilab : plot de la fonction porte
Fermé
cuber_71
Messages postés
1
Date d'inscription
jeudi 31 décembre 2009
Statut
Membre
Dernière intervention
31 décembre 2009
-
31 déc. 2009 à 10:31
philippe - 4 janv. 2010 à 10:19
philippe - 4 janv. 2010 à 10:19
A voir également:
- Fonction porte matlab
- Scilab - Télécharger - Édition & Programmation
- Lancement du programme Scilab via PHP - Forum PHP
1 réponse
Le problème vient du fait que tu appliques applique ta fonction porte à une matrice (x = [-10 :dx :10];) alors qu'elle est définie pour s'appliquer à un réel. Pour résoudre ce problème tu as deux solutions :
- si tu gardes ta définition de la fonction porte alors il faut utiliser feval pour l'évaluation :
8<----8<----8<----8<----8<----
dx = 0.1;
x = [-10 :dx :10];
y=feval(x,porte);
plot(x,y)
8<----8<----8<----8<----8<----
-si tu ne veux pas utiliser feval alors il faut coder ta fonction porte pour qu'elle s'applique "naturellement" aux matrices en utilisant bool2s :
8<----8<----8<----8<----8<----
function a = porte2(x)
a=bool2s((x >= -0.5) & (x <= 0.5))
endfunction
plot(x,porte2(x))
8<----8<----8<----8<----8<----
- si tu gardes ta définition de la fonction porte alors il faut utiliser feval pour l'évaluation :
8<----8<----8<----8<----8<----
dx = 0.1;
x = [-10 :dx :10];
y=feval(x,porte);
plot(x,y)
8<----8<----8<----8<----8<----
-si tu ne veux pas utiliser feval alors il faut coder ta fonction porte pour qu'elle s'applique "naturellement" aux matrices en utilisant bool2s :
8<----8<----8<----8<----8<----
function a = porte2(x)
a=bool2s((x >= -0.5) & (x <= 0.5))
endfunction
plot(x,porte2(x))
8<----8<----8<----8<----8<----