我想使用 ezplot 绘制一个函数,两个常数的不同值。喜欢
ezplot('a*x^2+b*y^2=1')
如何为 a 和 b 的不同值绘制它?感谢大家。
简单的方法是:
首先使用处理程序定义您的函数,如下所示:
a = 1;
b = 3;
fh = @(x,y) (a*x.^2 + b*y.^2 - 1);
然后轻松使用 ezplot 和函数:
ezplot(fh)
axis equal
如果您有不同的 a 和 b 值,您可以在循环中使用它们(或使用矢量化计算),并将它们提供给您的函数,然后绘制函数,并在绘制后使用 'hold on' 命令来保持以前的情节是这样的:
for i=1:n
fh = @(x,y) (a(i)*x.^2 + b(i)*y.^2 - 1);
ezplot(fh);
hold on
end
而已。
a
这是为and使用多个值的一种方法b
:分别定义您的函数并使用函数句柄和匿名函数来更改a
and b
。您可以将隐式函数定义为两个单独的函数:
function y = someFun(x,a,b)
y = sqrt((1-a.*x.^2)./b);
function y = someFun2(x,a,b)
y = - sqrt((1-a.*x.^2)./b);
然后使用and调用ezplot
匿名函数。a
b
clear all
close all
figure
hold on
for a = 1:5
for b = 1:5
ezplot(@(x)someFun2(x,a,b));
ezplot(@(x)someFun(x,a,b));
end
end
axis([-1,1,-1,1])
ezplot 将重置轴,因此您需要在调用后自行设置。