2016-12-24 54 views
1

如何做到这一点,但没有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); 
+0

为什么不能使用'meshgrid'和'contour'? – edwinksl

回答

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