[已答复] 如何找到 两条曲线 的交点坐标呢

[复制链接]
anubiesAndy 发表于 2019-8-5 10:47:31
想输出两条曲线的交点,求救

代码

代码

做出的图

做出的图

7 条回复


anubiesAndy 发表于 2019-8-5 10:49:55
clear
A=[0.01 -0.0335 -0.2 -0.0075];
x0=3;
y0=0.8;
x(1)=x0;y(1)=y0;
B=10;
T=0.01;
n=floor((B-1)/T+1);
f=@(k,z)A(1)*z^2+A(2)*z+A(3)*k+A(4);
X(1)=fzero(@(z)f(y0,z),3);
for i=1:n
    X(i+1)=fzero(@(z)f(y(i),z),X(i)+10);
    dy(i)=X(i+1)/x(i);
    x(i+1)=x(i)+T;
    y(i+1)=y(i)+T*dy(i);
    y1(i+1)=y(i+1)+X(i+1);
    y2=0.5*(y1+y)
end
y3=45*x.^0;
y4=y+y1+y2;
plot(x,y3,'g--',x,y4)

WarnerChang 发表于 2019-8-5 10:55:24
anubiesAndy 发表于 2019-8-5 10:49
clear
A=[0.01 -0.0335 -0.2 -0.0075];
x0=3;

两方程相减得到新方程,求新方程的零点即为交点

anubiesAndy 发表于 2019-8-5 11:00:42
WarnerChang 发表于 2019-8-5 10:55
两方程相减得到新方程,求新方程的零点即为交点

试了下,不行:'(,求大神指点代码

WarnerChang 发表于 2019-8-5 11:00:49
anubiesAndy 发表于 2019-8-5 10:49
clear
A=[0.01 -0.0335 -0.2 -0.0075];
x0=3;

你这都知道y3恒等于45了
find函数不就好了吗!!!

WarnerChang 发表于 2019-8-5 11:39:54
anubiesAndy 发表于 2019-8-5 11:00
试了下,不行,求大神指点代码

ii=find(abs(y4-45)<0.02)
x(ii)
y4(ii)
这就是交点,但是有一定的精度误差

anubiesAndy 发表于 2019-8-6 08:35:48

感谢大佬:handshake

王小二@ 发表于 2021-10-14 10:16:12
anubiesAndy 发表于 2019-8-5 10:49
clear
A=[0.01 -0.0335 -0.2 -0.0075];
x0=3;

如果两条曲线有很多个交点应该怎么求,比如这两条曲线x(t)=R*cos(0.5*pi*t)+r*cos(5*(pi)*t);
y(t)=R*sin(0.5*pi*t)+r*sin(5*(pi)*t)+0.5*t;
x1(t)=R*cos(0.5*pi*t)+r*cos(5*(pi)*t-0.5*pi);
y1(t)=R*sin(0.5*pi*t)+r*sin(5*(pi)*t-0.5*pi)+0.5*t;
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表