Dimensions of arrays being concatenated are not consistent
3 次查看(过去 30 天)
显示 更早的评论
Was given an assignment with this code below:
%% Fixed parameters
C=20;
phi=1/15;
VK =-83.3365;
VCa=120;
VL=-60;
gK=8;
gL=2;
gCa=4;
V1=-1.2;
V2=18; % 18
V3=12; % 12
V4=17.4; % 17.4
%% nonlinear functions of V
boltz=@(V,Vh,Vt)(0.5)*(1+tanh((V-Vh)/Vt));
minf=@(V)boltz(V,V1,V2);
dminf=@(V)1/(2*V2)*(sech((V-V1)/V2)).^2;
winf=@(V)boltz(V,V3,V4);
dwinf=@(V)1/(2*V4)*(sech((V-V3)/V4)).^2;
tauw=@(V)1./cosh((V-V3)/(2*V4));
%% Define the right hand side rhs for the model x(1)=V, x(2)=w
I =@(V,w)gK*w*(V-VK)+gCa*minf(V).*(V-VCa)+gL*(V-VL);
rhs=@(x,I0)[1/C*(I0-I(x(1,:),x(2,:)));...
phi*(winf(x(1,:))-x(2,:))/tauw(x(1,:))];
One of the questions was plot all equilibria of rhs(x,I0), where x = [V ; w]', determine the different phase portraits and plot periodic orbits for each portrait.
I begin by redifining rhs with new variables:
M = @(t,x)rhs(x,I0);
t = [0,2*pi];
x0 = [-20;0.4];
M(t,x0);
dM = MyJacobian(M,x0,h);
and I receive:
Error using vertcat
Dimensions of arrays being concatenated are not consistent.
And I do not know why this is so.
Does anybody know?
0 个评论
采纳的回答
Stephen23
2019-10-30
You included definitions for every variable except for the one that likely causes the problem, I0.
Running your code gives an error that I0 is undefined.
Defining I0 as a scalar double lets your code run without error.
Defining I0 as anything with more than one column will result in your code throwing that "Dimensions of arrays being concatenated are not consistent" error. The cause of the error is quite simple, it is because you are doing this:
[I0 + scalar; scalar]
Clearly the 1st row will have whatever size I0 has, the 2nd row is scalar.
Note that while using subscript indexing like this x(2,:) is semantically correct, the colon implies that there are multiple columns, which is not the case (indeed, x only has one column). It would be clearer to use linear indexing x(2) or specify the column explicitly x(2,1).
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!