0

我想使用 ezplot 绘制一个函数,两个常数的不同值。喜欢

ezplot('a*x^2+b*y^2=1')

如何为 a 和 b 的不同值绘制它?感谢大家。

4

2 回答 2

1

简单的方法是:

首先使用处理程序定义您的函数,如下所示:

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

而已。

于 2013-04-23T18:57:34.170 回答
0

a这是为and使用多个值的一种方法b:分别定义您的函数并使用函数句柄和匿名函数来更改aand 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匿名函数。ab

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 将重置轴,因此您需要在调用后自行设置。

于 2013-04-23T19:12:27.687 回答