我在GNU Octave中遇到以下错误:

error: vertical dimensions mismatch (1x2 vs 1x3) error: called from
ProjectPart1 at line 31 column 4

基于此代码(在zeta(:,1)之后的for / end循环中):

zeta(:,1)=[sum(beta)/lambda,P0];
N=[-lambda,sum(beta);lambda/gen,(rho-sum(beta))/gen];
zeta(:,i)=zeta(:,i-1)+N*zeta(:,i-1)*dt;

我在一个月前跑了这个,我记得它有效,任何想法为什么它现在不起作用?

编辑:这是整个事情 . 我试过切换,重新启动程序,然后重新启动计算机 . 卸载和重新安装是否值得(因为一位评论者表示它适用于他们)?

lam=[0.0128,0.0318,0.119,0.3181,1.4027,3.9286];
beta=[0.000258,0.00152,0.001391,0.00307,0.001102,0.000258];
P0=1e-6;
a=8*sum(beta);
lambda=((beta(1)*lam(1))+(beta(2)*lam(2))+(beta(3)*lam(3))+(beta(4)*lam(4))+(beta(5)*lam(5))+(beta(6)*lam(6)))/sum(beta);
hold off;
box on;
gen=2.6E-5;
dt=.001;
secint=.125/dt;
t(1)=0;
zeta(:,1)=[sum(beta)/lambda,P0];
rho(1)=0
for i=2:secint
N=[-lambda,sum(beta);lambda/gen,(rho-sum(beta))/gen];
zeta(:,i)=zeta(:,i-1)+N*zeta(:,i-1)*dt;
t(i)=t(i-1)+dt;
rho(i)=a*t(i);
end

垂直尺寸错误专门指向此行:

N=[-lambda,sum(beta);lambda/gen,(rho-sum(beta))/gen];