Quand je lance le code suivant:arguments d'entrée Trop dans Matlab
xdata2 = [1 3 4 5];
ydata2 = [3 9 76 73];
params = [0.1 0.5 0.0 -0.5 0.2 0.8];
y = svenssontest2(xdata2,ydata2,params,0.636,1.9632);
Je reçois le message d'erreur « Trop d'arguments d'entrée », mais le nombre d'arguments d'entrée est correcte. Voici le code de la fonction svenssontest2
:
function [alpha L1 L2] = svenssontest2(tau,Y,params,L1,L2)
tau=tau.';
Y=Y.';
nObs=length(Y);
%z=1;
%for(j =1:50)
%L2=j/200+0.01;
%for(k=1:50)
% L1=k/200+0.01;
Lev1= [params(1)*ones(nObs,1) params(2)*(1-exp(-params(5).*tau))./(params(5).*tau) params(3)*((1-exp(-params(5).*tau))./(params(5).*tau)-exp(-params(5).*tau)) params(4)*((1-exp(-params(6).*tau))./(params(6).*tau)-exp(-params(6).*tau))];
Y=Y-Lev1;
G= [ones(nObs,1) (1-exp(-L1.*tau))./(L1.*tau) (1-exp(-L1.*tau))./(L1.*tau)-exp(-L1.*tau) (1-exp(-L2.*tau))./(L2.*tau)-exp(-L2.*tau)];
alpha =G\Y;
u=Y-G*alpha
stderr=sqrt(diag((u'*u)/(length(Y)-4)*pinv(G'*G)));
Sum_u2 = sum(u.^2);
Res(1,:) = [Sum_u2 alpha' L1 L2];
% z=z+1;
% end
Veuillez modifier pour placer xdata2, ydata, etc comme code juste avant l'appel de la fonction pour faciliter la reproduction. La décélération de la fonction doit également être placée dans le code. Une fois que cela a été fait localement, je suis arrivé cette erreur: ??? Erreur lors de l'utilisation de ==> dimensions de la matrice moins doivent être d'accord. Erreur dans ==> svensontest2 à 20 Y = Y-Lev1; Cela n'a rien à voir avec le message d'erreur déclaré dans la question, et implique en fait que le message d'erreur revendiqué ne se produit pas depuis que nous l'avons introduit dans la fonction. Veuillez vérifier les étapes de reproduction. – MatlabDoug