绘制子弹头曲线

时间:2014-12-08 21:03:37

标签: matlab matlab-figure curve

  

我想绘制两个变量的这个函数,你可以找到它here

     

$$ z ^ 2 = t(ti)\ Longleftrightarrow x ^ 2 + y ^ 2 = 4x ^ 2y ^ 2 \ Longleftrightarrow y = \ dfrac {\ pm x} {\ sqrt {4x ^ 2-1}} \ mbox {with} | x |> \ frac {1} {2} $$

enter image description here

有人会一步一步地告诉我如何在matlab中绘制这个

http://www.mathworks.com/matlabcentral/fileexchange中是否有任何脚本或工具箱? 这样可以快速绘制出那种曲线的情节

这是通过geogebra

enter image description here

这是由wolframe

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以将符号变量与ezplot一起使用。

syms x y          % makes symbolic variables
h1 = ezplot('-4*x^2*y^2+x^2+y^2');  % plots the equation
axis equal
set(h1, 'Color', 'k');

enter image description here

或者你可以定义一个函数,

f = @(x,y) -4.*x.^2.*y.^2+x.^2+y.^2;
h1 = ezplot(f);
set(h1, 'Color', 'k');

将轴置于中间并不容易,我希望没有必要这样做。

修改

您可以下载oaxes here

syms x y 
h1 = ezplot('-4*x^2*y^2+x^2+y^2'); 
axis equal
set(h1, 'Color', 'm');
oaxes('TickLength',[3 3],'Arrow','off','AxisLabelLocation','side',...
    'LineWidth',1)

enter image description here

修改

对于3D情节试试这个,

% First line provides a grid of X and Y varying over -5 to 5 with .5 as step-size
[X,Y] = meshgrid(-5:.5:5); 
% instead of "=0", Z takes the values of the equation
Z = -4 .* X.^2 .* Y.^2 + X.^2 + Y.^2; 
surf(X,Y,Z)  % makes a 3D plot of X,Y,Z

enter image description here

您也可以尝试contourf(X,Y,Z)进行2D绘图。