在 Matlab 中绘制椭圆

Plotting Ellipse in Matlab

除了我的 R 编程课程外,我还在学习 LaTeX 课程。我们有一个新的任务是生成给定函数的图形(在 Matlab 中),保存它然后在 LaTeX 代码中调用它,就像我们正在制作出版物一样。我的 Matlab 有点生疏,而且我认为我的代码不太正确。此外,它看起来一点也不像我们给出的参考示例。我们被要求绘制的函数如下:1 = x^(2)/9 - y^(2)/4

我的图片应该是这样的:

我的 Matlab 代码生成了什么:

function graph_1

clc; clear all; 

a = 9;
b = 4;
x0 = 0;
y0 = 0;
t = -pi:0.1:pi;
x = 1 - x0 + a*cos(t);
y = 1 - y0 + a*sin(t);

figure(1); clf; 
    
plot(x,y,'b','linewidth',1)
set(gca, 'fontsize', 12)
xlabel('X')
ylabel('Y')
grid on

end

一旦我在 Matlab 中获得 运行 的代码,我就会得到一个看起来很奇怪的椭圆,它看起来不像我的教授给我们作为参考的那个我附上的椭圆。完整的作业是要求我们用我们选择的编程语言生成一个图,保存它,然后让 LaTeX 代码实际调用该文件,然后插入到 pdf 中。我如何将这个图导出到我电脑中的其他地方?

本来我以为我需要绘制一个椭圆,但发现我实际上需要绘制一条双曲线。无论如何,我想出了如何绘制这两个函数,因为它们的格式几乎相同,并且包含了椭圆的代码。根据我的经验,绘制这些函数的最佳方法是使用 Matlab 中的 fimplicit 函数。为了完全理解它是如何工作的,我强烈建议在命令 window 中输入 help fimplicit。从那里,您可以看到有关如何绘制此类函数的文档和示例。

这是我在 Matlab 中 运行 使事情正常工作的代码。

function graph_1

clc; clear; 

f1 = @(x,y) x.^(2)/9 + y.^(2)/4 - 1;

fimplicit(f1, 'b');
grid on;
axis equal;

print(figure(1), '-dpng') %% Saves a picture of the image in png format. 

end

然后这是我生成的椭圆: