在Matlab中填充复平面中的区域

4

我已经在Matlab中使用fimplicit绘制了隐式定义的函数。我想填充内部区域。怎么做?

f1=@(x,y) (1+x+x.^2-y.^2).^2+(y+2.*x.*y).^2-1;

fimplicit(f1)
hold on
axis([-1.5 0.5 -1.5 1.5])
xlabel('Re(h\lambda)')
ylabel('Im(h\lambda)')
hold off

enter image description here

1个回答

3
只需使用fimplicit生成的ImplicitFunctionLine对象的XDataYData属性作为输入,结合fill函数即可实现填充效果。
f1 = @(x,y) (1+x+x.^2-y.^2).^2+(y+2.*x.*y).^2-1;
h = fimplicit(f1, 'linewidth', 1);
hold on
axis([-1.5 0.5 -1.5 1.5])
xlabel('Re(h\lambda)')
ylabel('Im(h\lambda)')
fill(h.XData, h.YData, 'b', 'FaceAlpha', .1)

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接