Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab轮廓与Desmos轮廓的区别_Matlab_Graph - Fatal编程技术网

Matlab轮廓与Desmos轮廓的区别

Matlab轮廓与Desmos轮廓的区别,matlab,graph,Matlab,Graph,我在Matlab和Desmos.com上用相同的值和公式绘制了一条双曲线 Matlab中的图形 Desmos.com中的图形 它们看起来很相似,似乎有相同的值,但在Matlab中绘制的左侧双曲线有一个不连续性,并且在图的右侧似乎有一些奇怪的东西。我的代码在Matlab中如下所示: function TDoACalculation() syms x y deltaD D f; s1x = 95; s1y = 0; s2x = 0; s2y = 0; D = sqrt((s1y-s2y).^

我在Matlab和Desmos.com上用相同的值和公式绘制了一条双曲线

Matlab中的图形

Desmos.com中的图形

它们看起来很相似,似乎有相同的值,但在Matlab中绘制的左侧双曲线有一个不连续性,并且在图的右侧似乎有一些奇怪的东西。我的代码在Matlab中如下所示:

function TDoACalculation()

syms x y deltaD D f;
s1x = 95; s1y = 0; s2x = 0; s2y = 0;

D = sqrt((s1y-s2y).^2+(s1x-s2x).^2);
deltaD = sqrt((95-x).^2-(0-y).^2)-sqrt((0-x).^2-(0-y).^2);
f = ((x.^2)/((deltaD.^2)/(4))-(y.^2)/(((D.^2)/(4))-((deltaD.^2)/(4)))) - 1
disp(f);

figure
fcontour(f, [-50 50  -50 50]);
end

我编写的Matlab代码是否有问题导致了这一点,或者是我在Desmos中所做的方式有问题?

MATLABs绘图更准确,Desmos绘图以不同的值切割函数(您正在绘制的是曲面的轮廓,而不是曲面),而Desmos忽略了最右边的部分,它没有充分扩展边界。我想,你的函数不完全是双曲线。尝试绘制曲面--
fsurf(f,[-30,30-30,30])
。您将看到曲面上存在一些尖峰,这解释了等高线图中存在不连续性的原因。