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
Réponses
-
Ca veut dire que tu mets en argument de tes fonctions des objets qui ne sont pas acceptables comme arguments. Ceci dit, si tu ne postes pas les fonctions auxiliaires, (et dire "elles marchent, je les ai testées" ne suffit pas), il est impossible de savoir quel est précisément le problème.
-
ok, voilà les fonctions auxiliaires
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. AD] -
Dans la première fonction :
function m = minimiseur[b](P0)[/b]
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. -
une fonction a obligatoirement un argument?
parce que je définis P0 dans la fenetre de calcul et ensuite j'applique minimiseur
.... -
OK, ça doit marcher aussi comme ça, mais bon ce n'était certainement pas le problème de toutes façons... Est-ce que tu as un script ou comment utilises-tu ces fonctions ?
-
Salut,
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 -
Je donne quand même mon programme tout simple mais qui ne fonctionne pas...
function y=f(x,alpha,nu) if 0<x<1/2 then y=0; elseif 1/2<x<1 then y=-2*nu*C1(alpha,nu); end, endfunction
Merci -
c'est bon j'ai trouvé merci quand même!
Connectez-vous ou Inscrivez-vous pour répondre.
Bonjour!
Catégories
- 163.1K Toutes les catégories
- 7 Collège/Lycée
- 21.9K Algèbre
- 37.1K Analyse
- 6.2K Arithmétique
- 53 Catégories et structures
- 1K Combinatoire et Graphes
- 11 Sciences des données
- 5K Concours et Examens
- 11 CultureMath
- 47 Enseignement à distance
- 2.9K Fondements et Logique
- 10.3K Géométrie
- 62 Géométrie différentielle
- 1.1K Histoire des Mathématiques
- 68 Informatique théorique
- 3.8K LaTeX
- 39K Les-mathématiques
- 3.5K Livres, articles, revues, (...)
- 2.7K Logiciels pour les mathématiques
- 24 Mathématiques et finance
- 312 Mathématiques et Physique
- 4.9K Mathématiques et Société
- 3.3K Pédagogie, enseignement, orientation
- 10K Probabilités, théorie de la mesure
- 772 Shtam
- 4.2K Statistiques
- 3.7K Topologie
- 1.4K Vie du Forum et de ses membres