programme matlab — Les-mathematiques.net The most powerful custom community solution in the world

programme matlab

bonjour,
votre aide svp.
Je débute en matlab, et je dois écrire un petit programme de simulation.
Je trouve le petit programme suivant:

%Xi : champ obtenu par filtrage de A par coeff
function Xi=convbetareg(100,.8)
A=randn(199); %A bruit blanc gaussien
a=betarnd(1,1.8); %parametre aleatoire de filtrage suivant une loi beta(0,1+d)
b=betarnd(1,1.8);
X=conv2(coeffreg(a,b,100),A,'same');%sinon 'same'
Xi=X(floor(size(X,1)/2):size(X,1), floor(size(X,2)/2):size(X,2));%on ne prend que le quart inferieur droit pour enlever les cond initiales

Quand je le lance, matlab me dit que la fonction convbetareg n'existe pas.Y t-il un programme de syntaxe ?Je ne sais pas quoi penser sachant que le programme marche normalement.

Réponses

  • Bonjour,

    tu n'as pas le droit de mettre des chiffres (dans ton exemple 100 et 8) dans la définition de la fonction. Si la fonction de prend pas de paramètres en entrée, alors il suffit d'écrire "function Xi=convbetareg". Si tu veux qu'elle prenne en paramètre la taille de ta variable "a" et de ta variable "X", alors il faut écrire par exemple :

    function Xi=convbetareg(taille_X,.taille_a)
    A=randn(199); %A bruit blanc gaussien
    a=betarnd(1,1.taille_a); %parametre aleatoire de filtrage suivant une loi beta(0,1+d)
    b=betarnd(1,1.taille_a);
    X=conv2(coeffreg(a,b,taille_X),A,'same');%sinon 'same'
    Xi=X(floor(size(X,1)/2):size(X,1), floor(size(X,2)/2):size(X,2));%on ne prend que le quart inferieur droit pour enlever les cond initiales

    Enfin, la commande coeffreg n'existe pas en Matlab, je suppose que c'est une fonction que tu as définie à côté.
Connectez-vous ou Inscrivez-vous pour répondre.
Success message!