如何求两条曲线的交点(两条交点)

3次查看(最近30天)
里安农艾略特
里安农艾略特 2021年2月3日
评论道: 明星黾 2021年2月4日
我有一段代码,我最终会把它变成一个函数,来找出飞机可以飞的最小和最大速度,与引擎的可用功率有关,以及在这些条件下飞行所需的功率。在这段代码的图中,有一条平坦的线表示可用的功率,一条曲线表示所需的功率。
有没有一种简单的方法来输出这些直线的交点?理想情况下,这些都可以作为函数使用?
感谢所有我能得到的帮助!
关闭所有
清晰的
clc
确定在给定高度的最大和最小速度的代码
%的塞斯纳172便士
H = 0;最终,这将成为一个函数的输入
%用户只需要调用函数,就可以得到给定高度的最小和最大速度
%飞机常数
S = 16.16499443;%机翼面积(m ^ 2)
g = 9.81;重力加速度% [ms^-2]
W = 887.0748299 * g;飞机重量[kgf]
C_D0 = 0.026;升力阻力系数为零
K = 0.121;%阻力恒定
我们希望研究的速度范围[马赫]
M = linspace (0, 0.8,100);
(ρ,~ ~]= atmosProperties (H, 0, 0);%在指定高度的声速和密度[kgm^-3] [ms^-1]
[~, maxPA] = getPAmax (H);%给定高度的最大可用功率[W]
V = m *;%速度[^ 1]女士
C_L =(2. /ρ)。* (w / S)。* (1. / (v . ^ 2));%给定高度的升力系数
C_d = c_d0 + k * c_l ^2;%给定高度阻力系数
P_req = 0.5 .* rho .* v ^3 .* S .* C_D;%所需功率曲线
b = [maxPA, maxPA];%B和c用于绘制一条线,该线对应于可用的最大功率
c = [0272 .235190420871];
图的目标是找到可用功率曲线(平线)和所需功率曲线(曲线)的交点
%图例将在稍后添加
情节(V, P_req);
持有
情节(c, b);
包含(“助教(^ 1]女士”);
ylabel (“权力reequired (W)”

接受的答案

明星黾
明星黾 2021年2月3日
我不能运行你的代码,因为我没有函数。
然而,作为一般规则,找到两条曲线的交点是很简单的,即使计算它们的函数不存在。
用你的向量试试这个:
X = linspace(0,10);%的独立变量
y = 10 - (x-5) ^2;%因变量#1
y2 = 5 * sin(2 *π* x / 5);%因变量#1
曲线= y1 - y2;%减去曲线
intidx =找到(diff(签署(curvdif)));近似过零指数
k = 1:元素个数(intidx)
idxrng =[马克斯(intidx (k) 1): min(元素个数(x) intidx (k) + 1)];%索引范围内插
Xv (k) = interp1(curdif (idxrng), x(idxrng), 0);%插值估计“x”在交叉点
Yv (k) = interp1(x(idxrng),y1(idxrng), xv(k));%插值估计“y”在交叉点
结束
数字
图(x, y1, x, y2)
持有
图(十五、青年志愿“pg”“MarkerSize”15)
持有
网格
传奇(“y_1”“y_2”“十字路口”“位置”“年代”
我有许多关于飞行的快乐回忆 C172 年代!玩得开心!
4评论
明星黾
明星黾 2021年2月4日
一如既往,我的荣幸!
玩得开心 C172

登录评论。

更多的答案(0)

标签

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!