Académique Documents
Professionnel Documents
Culture Documents
FAC
SCILAB
// ne pas oublier funcprot(0) pour les fonctions récursives Forums
funcprot(0);
INFO 1
LYCÉE
function y = quotient_horner(poly,t)
// quotient de poly par X-t LaTeX
z = liste_horner(poly,t)
y = [z(2:$)] Mémo
endfunction
Polytech
function y = reste_horner(poly,t)
// reste de poly par T-t Programmation
z = liste_horner(poly,t)
if z == [] then y=0 Publications
else y = z(1)
end Tehessin
endfunction
function y = jeme_poly(poly,j,t)
// calcul de poly^(j)(t) avec Horner
if j == 0 then y = reste_horner(poly,t)
else y = j*jeme_poly(quotient_horner(poly,t),j-1,t)
end
endfunction
function y = jeme_poly_mat(poly,k,t)
n = length(poly) + 1;
T = zeros(k+1,length(poly)+1);
for j = 2:n do
T(1,j) = poly(j-1);
end
for i = 2:(k+1) do
T(i,n-i+1) = T(i-1,n-i+2);
for j = (n-i):-1:1 do
T(i,j) = T(i-1,j+1) + t * T(i,j+1)
end
end
y=T
endfunction
// N E W T O N
function y = prod_mono(poly,t)
y = [0,poly] - t*[poly,0]
endfunction
function y = add_poly(p1,p2)
l1 = length(p1)
l2 = length(p2)
l = max(l1,l2)
if l1 < l then
for k = 1:(l-l1) do p1 = [p1,0];end
else
for k = 1:(l-l2) do p1 = [p2,0];end
end
y = p1+p2
endfunction
function P = newton(X,Y,t)
n = length(Y)
if n <> length(X) then
y = "Il manque des abscisses ou des ordonnées"
end
D = zeros(n,n)
for i = 1:n do D(i,1) = Y(i); end
for j = 2:n do
for i = 1:(n-j+1) do
D(i,j) = (D(i+1,j-1) - D(i,j-1)) / (X(i+j-1) - X(i))
end
end
P = D(1,n)
for k = (n-1):-1:1 do
P = D(1,k) + (t-X(k))*P
end
endfunction
function P = newton_poly(X,Y)
n = length(Y)
if n <> length(X) then
y = "Il manque des abscisses ou des ordonnées"
end
D = zeros(n,n)
for i = 1:n do D(i,1) = Y(i); end
for j = 2:n do
for i = 1:(n-j+1) do
D(i,j) = (D(i+1,j-1) - D(i,j-1)) / (X(i+j-1) - X(i))
end
end
P = [D(1,n)]
for k = (n-1):-1:1 do
P = add_poly([D(1,k)] , prod_mono(P,X(k)))
end
endfunction
function y = poly2x(poly,x)
n = length(poly)
f=0
for k = 1:n do
f = f + poly(k)*x^(k-1)
end
y=f
endfunction
for k = [0.1:0.1:1] do
x = [0:k:2];
p = newton_poly(x,1/(1+x^2));
plot(x,poly2x(p,x))
end
//////////////// LAGRANGE
function y = lagrange(X,Y)
n=length(X);
P=[0];
for i=1:n, L=[1];
for j=[1:i-1,i+1:n] L=prod_mono(L,X(j))/(X(i)-X(j));end
P=add_poly(P,L*Y(i));
end
y=P
endfunction
MP* Scilab
Connexion utilisateur
CAPTCHA
Nom d'utilisateur * Mot de passe *
Un défi mathématique pour vérifier que vous n'êtes pas un(e) méchant(e) spamer
venu(e) empêcher l'humanité de profiter des bienfaits de ce site merveilleux
courtesy of webmatter.de
Créer un nouveau compte
Math question *
Demander un nouveau mot de passe 5+6=
Se connecter