programme scilab
Salut,
J'ai tapé ce code en scilab :
normalisation normalise le tableau (pour rester sur la sphère de IC^n pour une norme donnée)
energie calcule la fonctionnelle
Ces deux fonctions marchent bien, je les ai testées à part
Et il me renvoie un message d'erreur que voilà
Merci
J'ai tapé ce code en scilab :
function m = minimiseur P=P0 n=length(P0) Q=P0 for i = 1:N, Q=normalisation(P+eps*(rand(1,n)+%i*rand(1,n))) e=energie(Q) ee=energie(P) if e<ee then P=Q; end end l=P endfunctionLe but est de minimiser la fonctionnelle energie avec un algo aléatoire
normalisation normalise le tableau (pour rester sur la sphère de IC^n pour une norme donnée)
energie calcule la fonctionnelle
Ces deux fonctions marchent bien, je les ai testées à part
Et il me renvoie un message d'erreur que voilà
Undefined operation for the given operands check or define function %s_2_s for overloadingPouvez-vous m'aider svp, ça fait deux heures que je cherche et je ne comprends pas trop l'info
Merci
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
function t = CarrePolynome (l, i)
~~~~~~ p=poly(l,"z", "coeff")
~~~~~~ p2=p^2
~~~~~~ t=coeff(p2, i)
endfunction
function e = energie (l)
~~~~~~ g=l
~~~~~~ n=length(l)
~~~~~~ for i = 1:n, g(i)= (abs(l(i))^2)*factorial(i+2)/2; end
~~~~~~ h=rand(1,2*n)
~~~~~~ for i = 1: 2*n, h(i)= ((abs(CarrePolynome(l,i)))^2)*(factorial(i+1)/(2^(i+2))); end
~~~~~~ e=sum(g)+sum(h)
endfunction
function N = norme (l)
~~~~~~ g=l
~~~~~~ n=length(l)
~~~~~~ for i = 1:n, g(i)= (abs(l(i))^2)*(factorial(i-1)/2); end
~~~~~~ N=sqrt(sum(g))
endfunction
function g = normalisation (l)
~~~~~~ g=l/(norme (l))
endfunction
[Il vaut mieux ne pas cocher la case LaTeX et utiliser le bouton BBcode (police fixe), comme dans ton 1er message.
Sinon, un petit script utilisant ces fonctions, pour voir ? Comme tu n'as pas mis de commentaire, c'est un peu dur de deviner ce que tout ça est censé faire, prendre quels arguments, etc.
parce que je définis P0 dans la fenetre de calcul et ensuite j'applique minimiseur
....
j'ai le même problème que toi et je pense que le problème se situe au niveau de la boucle if! Est ce que tu pourras me donner la solution du problème si tu l'as trouvé stp! Merci