matlab isosurface error: V must be a 3D array
matlab isosurface error: V must be a 3D array
我正在尝试使用等值面绘制由隐式函数描述的表面:
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" 是通过在 meshgrid 上评估函数获得的,我仔细检查了 "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
例如。
我正在尝试使用等值面绘制由隐式函数描述的表面:
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" 是通过在 meshgrid 上评估函数获得的,我仔细检查了 "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
例如。