Find Intersection between curves

6 ビュー (過去 30 日間)
Anfal AlShehhi
Anfal AlShehhi 2022 年 6 月 28 日
コメント済み: KSSV 2022 年 6 月 28 日
In the intersection part
I tried many functions but still couldn't get the right value

回答 (2 件)

KSSV
KSSV 2022 年 6 月 28 日
  8 件のコメント
Anfal AlShehhi
Anfal AlShehhi 2022 年 6 月 28 日
When plotting eqauation A & B there is an intersect point between the 2 curves. Am trying to figure this out.
KSSV
KSSV 2022 年 6 月 28 日
clc; clear all;
% Defined values
atm=0.17 ; % km-1
xt=2.3; % target (x) in m
yt=2.3; % target (y) in m
p=50/100; % percent target
vis=23; %Visibility in km target
er=26; % LRF
dref=500; % LRF in m
pref=85/100; % LRF
vis2=23; % LRF Visbility
T=90/100; % LRF
sc=1; % LRF
% Range
x=0:0.01:10; % in km
A= exp(-2*atm.*x) ; % Attenuation func
B= ((pref/p)*((x.*x)*1000/dref*dref))*(((exp((-2*atm*dref/1000))*10^(-er/10)))/(T*sc)) ;% Sensi func
L1 = [x;A] ; L2 = [x;B] ;
P = InterX(L1,L2) ;

サインインしてコメントする。


Sam Chak
Sam Chak 2022 年 6 月 28 日
I think the script shared File Exchange works. However, if you want something mathematically simple to understand, you can try fzero(). The approach is similar to what you did previously.
atm = 0.17; % km-1
xt = 2.3; % target (x) in m
yt = 2.3; % target (y) in m
p = 50/100; % percent target
vis = 23; % Visibility in km target
er = 26; % LRF
dref = 500; % LRF in m
pref = 85/100; % LRF
vis2 = 23; % LRF Visbility
T = 90/100; % LRF
sc = 1; % LRF
% Range
x = 0:0.01:10; % in km
A = exp(-2*atm.*x); % Attenuation func
B = ((pref/p)*((x.*x)*1000/dref*dref))*(((exp((-2*atm*dref/1000))*10^(-er/10)))/(T*sc)); % Sensi func
% Plotting two curves initially
plot(x, A, x, B)
ylim([0 1])
% Finding the intersection point
f1 = @(x) exp(-2*atm.*x);
f2 = @(x) ((pref/p)*((x.*x)*1000/dref*dref))*(((exp((-2*atm*dref/1000))*10^(-er/10)))/(T*sc));
f = @(x) f1(x) - f2(x);
x0 = 0.5; % initial guess value (intersection is somewhere near x = 0.5)
xsol = fzero(f, x0)
xsol = 0.4621
ysol = f1(xsol)
ysol = 0.8546
% Markng the intersection point
plot(x, A, x, B), hold on
plot(xsol, ysol, 'mo', 'MarkerSize', 14), hold on
ylim([0 1])

カテゴリ

Help Center および File ExchangeKernel Creation from MATLAB Code についてさらに検索

製品


リリース

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by