绘制轮廓中的平方根

时间:2016-01-18 00:22:36

标签: matlab plot matlab-figure

我有两个变量x和y。我决定使用轮廓绘制其差异的平方根,如下所示:

x=0:0.1:100;
y=0:0.1:100;
G=sqrt(x-y);
test2 = G;
test2(~(G<0)) = nan;
[C,h]=contourf(x,y,G,'ShowText','off');
set(gca,'FontSize',20)

但是我收到此错误:使用contourf时出错(第69行) Z必须大小为2x2或更大。

如果这个问题得到解决,我想达到目标并绘制依赖于x,y和G本身的实际函数,如下所示: 函数= 2 sqrt(x)/ G * acoth((sqrt(x)+ y / 2)/ G)

1 个答案:

答案 0 :(得分:1)

我举个例子

x=0:0.1:100;
y=0:0.1:100;
[X, Y]=meshgrid(x,y);
G=sqrt(X-Y);
test2 = G;
test2(~(G<0)) = nan;
[C,h]=contourf(X,Y,abs(G),'ShowText','off');
set(gca,'FontSize',20)

轮廓输入应该是2D数组,但是数组是1D。

这里,G是复数。当你绘制G时,你应该绘制绝对G。

结果如下所示。

enter image description here

关于你的功能,

H=((2*sqrt(X))./G).*acoth((sqrt(X) + Y/2 )./G );