Bonjour a tous

j'ai besoin de votre aide.ci dessous est le programme matlab qui calcule le champ magnetique d'une boucle de courant.mais apres compilation je recois comme erreur,, compute_B
Error using compute_B (line 19)
Not enough input arguments.''

function B = compute_B(R,I,x,n)
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%
%% Calcule le champ magnétique généré par une boucle de courant
%% R est le rayon de la boucle
%% I est l'intensité du courant
%% x est la matrice des points où on veut calculer le champ B
%% La taille de x est 3 x nombre_de_points
%% ( x1 ... ...)
%% x = ( y1 ... ...)
%% ( z1 ... ...)
%% n est le nombre de points de discrétisation pour la boucle de courant
%% B est une matrice 3 x nombre_de_points
%% ( Bx1 ... ...)
%% B = ( By1 ... ...)
%% ( Bz1 ... ...)
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%
mu0 = 4*pi*10^(-7);

nx=size(x,2);

%% x est la matrice des points de l'espace, on la répète
x=repmat(reshape(x.',1,nx,3),[n 1 1]);

%% y est la matrice des points de la boucle
y=R*[cos(2*pi/n*(0:n-1));sin(2*pi/n*(0:n-1));zeros(1,n)];

%% On répète la matrice y
y=repmat(reshape(y.',n,1,3),[1 nx 1]);

%% On peut alors calculer matriciellement tous les vecteurs SM (i.e. yx)
xmy=x-y; clear x y;

%% On calcule tous les vecteurs dl de la formule (on multipliera par R à la fin)
dy=[-sin(2*pi/n*(0:n-1));cos(2*pi/n*(0:n-1));zeros(1,n)];

%% On répète cette matrice
dy=repmat(reshape(dy.',n,1,3),[1 nx 1]);

%% On peut alors calculer matriciellement tous les vecteurs dl^SM de la formule (i.e. dy^yx)
cdyxmy=cross(dy,xmy,3); clear dy;

%% On calcule au passage toutes les normes de SM (yx)
norm_xmy_3=repmat(dot(xmy,xmy, 3).^(3/2),[1 1 3]); clear xmy;

%% Il ne reste plus qu'à assembler B
B=cdyxmy./norm_xmy_3; clear cdyxmy norm_xmy_3;
B=sum(B);
B = mu0*R*I/(2*n)*B;
B = squeeze(B);
B = B.';
%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%
[X Y Z]=meshgrid(linspace(-5,5,50));
x=[reshape(X,1,50^3);reshape(Y,1, 50^3);reshape(Z,1,50^3)];
clear X Y Z;
tic;B=compute_B(1,1,x,50);toc;
clear B;