我需要使用绘图功能的替代解决方案

时间:2016-12-24 21:33:51

标签: matlab

如何在不使用contourmeshgrid功能的情况下执行相同操作?我需要使用plot函数的替代代码。

[x,y]=meshgrid(linspace(-3,3,1000));
contour(x,y,x.^2 + y.^2-2.*x,'LevelList',0,'LineColor','r','LineWidth',2);
hold on
contour(x,y,x.^2 - y.^2-y,'LevelList',0,'LineColor','b','LineWidth',2);

1 个答案:

答案 0 :(得分:0)

您可以做的是手动创建矩阵xy“,创建一个代表您的函数符号的逻辑图像,并使用bwboundaries来提取行“签署变更”:

t=linspace(-3,3,100);            % set up matrices
o = ones(size(t));          
x = o'*t;
y = x';
image = x.^2 + y.^2-2.*x > 0;    % generate image
BW = bwboundaries(image);        % extract paths from image
hold on
for k=1:numel(BW);
    path = BW{k};
    x = t(path(:,1));
    y = t(path(:,2));
    plot(x,y);                   % plot paths
end