matlab等值面误差:V必须是3D数组

matlab等值面误差:V必须是3D数组,matlab,plot,3d,Matlab,Plot,3d,我尝试使用等值面绘制由隐式函数描述的曲面: dvdt0=@(v_i,s_i,w_i)0.1*(-65-v_i)+9*n_i_inf(v_i).^4.*(-90-v_i)... +35*m_i_inf(v_i).^3.*h_i_inf(v_i).*(55-v_i)... +(s_i).*(v_rev_i-v_i) ... +g_M*(w_i.*(-90-v_i)); [v,s,w]=meshgrid(-80:

我尝试使用等值面绘制由隐式函数描述的曲面:

dvdt0=@(v_i,s_i,w_i)0.1*(-65-v_i)+9*n_i_inf(v_i).^4.*(-90-v_i)...
               +35*m_i_inf(v_i).^3.*h_i_inf(v_i).*(55-v_i)...
               +(s_i).*(v_rev_i-v_i) ...
               +g_M*(w_i.*(-90-v_i));
[v,s,w]=meshgrid(-80:0.1:50,0:0.01:1,1:0.01:1);

val=dvdt0(v,s,w);

fv=isosurface(v,s,w,val,0);
但是,我不断收到错误消息:

Error using isosurface (line 73)
V must be a 3D array.

Error in layer (line 9)
fv=isosurface(v,s,w,val,0);

由于“val”是通过在网格上计算函数得到的,我仔细检查了“val”与v、s、w的大小是否相同,因此我不确定是什么问题。

考虑以下几行:

[v,s,w]=meshgrid(-80:0.1:50,0:0.01:1,1:0.01:1);
最后一个参数是1:0.01:1,等于1。 换成

1:0.01:2
比如说