From lucien.povy at free.fr Fri Aug 28 14:11:07 2015 From: lucien.povy at free.fr (Lucien Povy) Date: Fri, 28 Aug 2015 14:11:07 +0200 Subject: [Users-fr] =?utf-8?q?Racines_multiples_d=27un_polyn=C3=B4me=2E?= Message-ID: <55E04FDB.8050000@free.fr> Bonjour, Je propose un programme "mroots.sci" donnant les racines d'un polynôme et les multiplicités correspondantes (ou les racines répétées autant de fois qu'il faut). Contrairement à Matlab ou Octave, la méthode ne fait pas la moyenne des racines qui semblent multiples (j'ai aussi programmé cette méthode, mais elle ne me satisfait pas). L'idée est d'utiliser le programme bezout.sci sur le polynôme P(x) et le polynôme dérivé dP(x)/dx. Ce programme peut être utile pour les fonctions scilab factors, polfacts, trzeros, pfactors,.... etc, et moyennant une réécriture, de règler en partie le problème posé par pfss.sci quand il y a des racines multiples. Je donne en fichier attaché, le programme mroots.sci. Bien cordialement à tous. Lucien povy -------------- section suivante -------------- Une pièce jointe autre que texte a été nettoyée... Nom: mroots.sci Type: application/x-scilab-sci Taille: 5015 octets Desc: non disponible URL: From sgougeon at free.fr Fri Aug 28 18:58:41 2015 From: sgougeon at free.fr (Samuel Gougeon) Date: Fri, 28 Aug 2015 18:58:41 +0200 Subject: [Users-fr] conversion Matlab Scilab In-Reply-To: <07ee01d0c856$45411460$cfc33d20$@premiumconsulting.fr> References: <55AC9D9F.1040804@ac-caen.fr> <07ee01d0c856$45411460$cfc33d20$@premiumconsulting.fr> Message-ID: <55E09341.1050005@free.fr> Bonjour, Le 27/07/2015 12:23, Adrien Granger a écrit : > .../... > Par ailleurs, les fonctions Matlab ne sont pas toujours présentes sans > Scilab, ou alors sont limitées, > Par exemple l'évaluation d'une chaine de caractère est limitée à 255 > caractères. Vraiment ? getversion() i = 1:150; s = strcat(string(i),"+") length(s) execstr("S="+s) S 150*151/2 // résultat exact = evstr(s) eval(s) produit sans problème : -->getversion() ans = scilab-5.5.2 -->i=1:150; -->s = strcat(string(i),"+") s = 1+2+3+4+5+6+7+8+9+10+11+12+13+14+15+16+17+18+19+20+21+22+23+24+25+26+27+28+29+30+31+32+33+34+35+36+37+38+39+40+ 41+42+43+44+45+46+47+48+49+50+51+52+53+54+55+56+57+58+59+60+61+62+63+64+65+66+67+68+69+70+71+72+73+74+75+7 6+77+78+79+80+81+82+83+84+85+86+87+88+89+90+91+92+93+94+95+96+97+98+99+100+101+102+103+104+105+106+107+108 +109+110+111+112+113+114+115+116+117+118+119+120+121+122+123+124+125+126+127+128+129+130+131+132+133+134+1 35+136+137+138+139+140+141+142+143+144+145+146+147+148+149+150 -->length(s) ans = 491. -->execstr("S="+s) -->S S = 11325. -->150*151/2 // résultat exact= ans = 11325. -->evstr(s) ans = 11325. -->eval(s) ans = 11325. S. Gougeon -------------- section suivante -------------- Une pièce jointe HTML a été nettoyée... URL: