【发布时间】:2009-10-05 16:10:10
【问题描述】:
当我运行以下代码时:
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);
我收到错误消息“输入参数过多”,但输入参数的数量是正确的。这是函数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
【问题讨论】:
-
请在函数调用之前进行编辑以将 xdata2、ydata 等作为代码放置,以便于复制。还需要将功能减速放入代码中。在本地完成此操作后,我收到此错误:???错误使用 ==> 减去矩阵尺寸必须一致。 ==> svensontest2 在 20 Y=Y-Lev1 出现错误;这与问题中声称的错误消息无关,实际上意味着声称的错误消息没有发生,因为我们将其放入函数中。请检查复制步骤。