matlab 标注两曲线交叉点,matlab – 使用fminsearch同步两对曲线的交点

本文介绍了如何在MATLAB中找到并同步两对曲线的交点。通过使用fminsearch函数和自定义函数findIntersectPair,作者试图调整一对曲线的时间轴,使得两对曲线的交点具有相同的x值。然而,由于迭代过程中的问题,导致fminsearch无法正确找到解决方案。作者提出了可能使用fmincon,但由于缺少优化工具箱,寻求替代方案。
摘要由CSDN通过智能技术生成

我有两对曲线,每对都有一个不同时间值(x值)的交点.现在我需要在x方向上均匀地移动每对的一条曲线,直到两个交叉点具有相同的时间值/ x参数:

这些只是示例,您可以为我的所有实际情况假设相同的单调性(但可能是不同的形状),例如在我的示例中.同样颜色的曲线也具有相同的x向量(但不一定等距).在两种颜色(1 =红色和2 =蓝色)x范围之间,元素的数量可以完全不同.

生成的输入曲线:

t1 = linspace(0,3,30);

t2 = linspace(0,5,15);

x1 = t1.^2.*5;

x2 = -t2.^2.*3+50;

y1 = t1.*2;

y2 = t2;

ip_x = InterX([t1;x1],[t2;x2]);

ip_y = InterX([t1;y1],[t2;y2]);

我通过使用函数InterX在File Exchange处计算的交点,它返回交点的x和y值.该示例的预期输出只是猜测来说明我的问题.

我的问题是,如何确定输入和输出之间的时间延迟?

[ t1,x1,y1,t2,x2,y2 ] = findIntersectPair(t1,x1,y1,t2,x2,y2);

我的方法是使用fminsearch,但经过一些迭代后我遇到了问题.

function [ t1,x1,y1,t2,x2,y2 ] = findIntersectPair(t1,x1,y1,t2,x2,y2)

d0 = 0;

[d,dxy] = fminsearch(@findDelay,d0);

function dxy = findDelay( d )

disp(['d =

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值