Matlab:当解决方案处于特定值时,将colormap固定到指定值

Matlab:当解决方案处于特定值时,将colormap固定到指定值,matlab,matlab-figure,Matlab,Matlab Figure,我用固定的边界条件和消耗项求解了二维几何中的扩散方程。如何向颜色图添加新颜色(或2D图上的虚线),以指定(x-y)图中的特定化学浓度水平?例如,在这段代码中,当解决方案从顶部的155变为底部的24时,我的颜色图从深红色变为深蓝色,我如何向颜色图添加不同的颜色,以显示2D图形上解决方案为18的位置 c = 1e-1; a = 0; f = char('-22222*u./(2.2+u)'); d = 1; xmin=0;xmax=0.575;ymin=0;ymax=0.05315;yma

我用固定的边界条件和消耗项求解了二维几何中的扩散方程。如何向颜色图添加新颜色(或2D图上的虚线),以指定(x-y)图中的特定化学浓度水平?例如,在这段代码中,当解决方案从顶部的155变为底部的24时,我的颜色图从深红色变为深蓝色,我如何向颜色图添加不同的颜色,以显示2D图形上解决方案为18的位置

c = 1e-1;
 a = 0;
 f = char('-22222*u./(2.2+u)');
 d = 1;

 xmin=0;xmax=0.575;ymin=0;ymax=0.05315;ymax2=0.073; 
 gdm = [3;4;xmin;xmax;xmax;xmin;ymax;ymax2;ymin;ymin];
 g = decsg(gdm, 'S1', ('S1')');
 hmax = .1; % element size
[p, e, t] = initmesh(g, 'Hmax', hmax);
[p,e,t] = refinemesh(g,p,e,t);
[p,e,t] = refinemesh(g,p,e,t);
[p,e,t] = refinemesh(g,p,e,t);
[p,e,t] = refinemesh(g,p,e,t);
[p,e,t] = refinemesh(g,p,e,t);
 % Create a pde entity for a PDE with a single dependent variable
numberOfPDE = 1;
pb = pde(numberOfPDE);
% Create a geometry entity
pg = pdeGeometryFromEdges(g);
bc1 = pdeBoundaryConditions(pg.Edges(1),'u',155);
bc2 = pdeBoundaryConditions(pg.Edges(2),'u',51);
bc3 = pdeBoundaryConditions(pg.Edges(3),'u',24);
bc4 = pdeBoundaryConditions(pg.Edges(4),'g',0);
pb.BoundaryConditions = [bc1,bc2,bc3,bc4];

u = pdenonlin(pb,p,e,t,c,a,f, 'jacobian', 'lumped');
figure;
pdeplot(p, e, t, 'xydata', u, 'contour', 'on', 'colormap', 'jet');
title 'Chemical Diffusion, Steady State Solution'
xlabel 'X-coordinate, meters'
ylabel 'Y-coordinate, meters'

你能给我们看一些代码来重现你到目前为止所做的工作吗?我不知道这是曲面图还是普通的2D图。这将不可避免地结束,因为我们无法复制您试图制作的内容。这是我的代码,如何指定(使用不同颜色)2D图形中的解等于18的位置?感谢@rayryenguse(可能会看到最后一个示例“显示单个等高线”),尽管您可能希望稍后显示多条线。