我想使用ezplot绘制一个函数,两个常量的不同值。 像
ezplot('a*x^2+b*y^2=1')
如何根据a和b的不同值绘制它? 谢谢大家。
答案 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)
以下是为a
和b
使用多个值的一种方法:分别定义函数并使用函数句柄和匿名函数来更改a
和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);
然后使用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将重置轴,因此您需要在调用后设置自己。