使用ezplot绘制包含常量的曲线

时间:2013-04-23 18:18:45

标签: matlab plot

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

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

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

2 个答案:

答案 0 :(得分:1)

简单的方法是:

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

a = 1;
b = 3;
fh = @(x,y) (a*x.^2 + b*y.^2 - 1);

然后使用函数轻松使用ezplot:

ezplot(fh)
axis equal

如果您有不同的a和b值,您可以在循环中使用它们(或使用矢量化计算),并将它们提供给您的函数,然后绘制函数,并在绘图后使用' hold上'命令保持以前的情节如下:

for i=1:n
    fh = @(x,y) (a(i)*x.^2 + b(i)*y.^2 - 1);
    ezplot(fh);
    hold on
end

那就是它。

答案 1 :(得分:0)

以下是为ab使用多个值的一种方法:分别定义函数并使用函数句柄和匿名函数来更改ab。您可以将隐式函数定义为两个单独的函数:

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);

然后使用ezplota在匿名函数上调用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将重置轴,因此您需要在调用后设置自己。