用matlab ezplot画图感觉结果不对(第一次用参数,第二次用和参数相同的实数)

我根据5个点解出的椭圆方程,把解放入y(1)~y(5)里面,但直接用y(1)~y(5)作为参数画图得到的图像跟直接用解画的图不一样。看我这两个图。解已经在左边,这样画出的... 我根据5个点解出的椭圆方程,把解放入y(1)~y(5)里面,但直接用y(1)~y(5)作为参数画图得到的图像跟直接用解画的图不一样。看我这两个图。

解已经在左边,这样画出的图怎么会偏那么远。

但如果直接用实数代替参数去画图,就会得到正确的图形。但那个参数不就是等于这些实数,为什么会出现这么大的偏差。
附我的原程序
直接用参数的
y=fsolve('f7',[0.02,-0.04,0.02,0.3,2])
A=[5.764 6.286 6.759 7.168 7.408];
B=[0.648 1.202 1.823 2.526 3.360];
for i=1:1:5
plot(A(i),B(i),'*')
hold on
end
ezplot('y(1)*x^2+y(2)*y^2+y(3)*x+y(4)*y+y(5)*x*y+1=0',[-5,10])
hold on

用实数的
A=[5.764 6.286 6.759 7.168 7.408];
B=[0.648 1.202 1.823 2.526 3.360];
for i=1:1:5
plot(A(i),B(i),'*')
hold on
end
ezplot('0.0508*x^2+0.0381*y^2-0.4531*x+0.2643*y-0.0702*x*y+1=0',[-5,10])
hold on

函数
function y=f7(x)
A=[5.764 6.286 6.759 7.168 7.408];
B=[0.648 1.202 1.823 2.526 3.360];
for i=1:1:5
y(i)=x(1)*A(i)^2+x(2)*B(i)^2+x(3)*A(i)+x(4)*B(i)+x(5)*A(i)*B(i)+1;
end
展开
 我来答
lhmhz
高粉答主

2014-09-26 · 专注matlab等在各领域中的应用。
lhmhz
采纳数:7264 获赞数:17017

向TA提问 私信TA
展开全部
用参数画椭圆和第二次用实数画的是完全一致的,因为你的ezplot('y(1)*x^2+y(2)*y^2+y(3)*x+y(4)*y+y(5)*x*y+1=0',[-5,10])不对,没有把具体的参数代人方程内,而造成的。
ZESTRON
2024-09-04 广告
在Dr. O.K. Wack Chemie GmbH,我们高度重视ZESTRON的表界面分析技术。该技术通过深入研究材料表面与界面的性质,为提升产品质量与可靠性提供了有力支持。ZESTRON的表界面分析不仅涵盖了相变化、化学反应、吸附与解吸... 点击进入详情页
本回答由ZESTRON提供
百度网友3c63e6c
2014-09-26 · TA获得超过2848个赞
知道大有可为答主
回答量:3829
采纳率:68%
帮助的人:2792万
展开全部
首先
ezplot('y(1)*x^2+y(2)*y^2+y(3)*x+y(4)*y+y(5)*x*y+1=0',[-5,10]) 中的y似乎是重复了,显然不是一个y
其次,你将y换成其他变量,会发现在''中其实y()并不是一个有确定值的向量。
追问

我把y换成u了,可一下子错了好多,不知道为什么

没有动那个方程组函数f7

源程序

追答
说的就是,我之前也已经替换过了,发现MATLAB不能识别""中的字母参数,MATLAB并没有将其替换为对应的数字。也就是说,第一种方式本质是错误的,第一次能够画出椭圆,是因为恰巧你的y与y数组使用了同一个字母
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式