フィルターのクリア

How to finde intersections ?

1 回表示 (過去 30 日間)
Hossein Alishahi
Hossein Alishahi 2021 年 3 月 9 日
コメント済み: Jan 2021 年 3 月 9 日
Hi,
I hope you are Keeping safe.
I have a code as belows
clear all
clc
close all
alpha1=input('Enter positive "alpha1"?');
alpha2=input('Enter positive "alpha2"?');
beta1=input('Enter positive "beta1"?');
beta2=input('Enter positive "beta2"?');
lambda=input('Enter positive "lambda"?');
eta1=input('Enter positive "eta1"?');
eta2=input('Enter positive "eta2"?');
P=input('Enter positive "P"?');
%% Feasible Area
M=max(P,eta1); N=max(P,eta2);
a = -1:M;m = 0; c = eta2; b = m * a + c;
plot(a, b, '--','Color', 'black')
hold on
b = -1:N; m = 0; c = eta1; b = m * a + c;
plot(b, a, ':','Color', 'black','LineWidth',2)
eta1=min (eta1,P); eta2=min (eta2,P);
if eta1+eta2<P
X=[0 0 eta1 eta1]; Y=[0 eta2 eta2 0];
fill(X,Y,[0.85 0.85 0.85]);
else
X=[0 0 P-eta2 eta1 eta1]; Y=[0 eta2 eta2 P-eta1 0];
fill(X,Y,[0.85 0.85 0.85]); axis([-1 P+eta1+1 -1 P+eta2+1])
end
g = @(a,b) a+b-P;
fimplicit(g,[0 P 0 P],'-.','Color', 'black')
f = @(a,b) log((1+alpha1*a./(1+alpha2*b))) -lambda*log((1+beta1*a./(1+beta2*b)));
fimplicit(f,[-1 P+eta1+1 -1 P+eta2+1], 'Color','green')
hold on
and want to find intersection between lines . For example consider
alpha1=beta1=1, alpha2=0.2, beta2=2, ambda=2, eta1=3, eta2=4 and P=2
Could you please give me how to find and plot the intersections points.
MAny Thanks in advance
  4 件のコメント
Hossein Alishahi
Hossein Alishahi 2021 年 3 月 9 日
please try it !
%% Input Parameters
clear all
clc
close all
alpha1=input('Enter positive "alpha1"?');
alpha2=input('Enter positive "alpha2"?');
beta1=input('Enter positive "beta1"?');
beta2=input('Enter positive "beta2"?');
lambda=input('Enter positive "lambda"?');
eta1=input('Enter positive "eta1"?');
eta2=input('Enter positive "eta2"?');
P=input('Enter positive "P"?');
%% Feasible Area
M=max(P,eta1); N=max(P,eta2);
a = -1:M;m = 0; c = eta2; b = m * a + c;
plot(a, b, '--','Color', 'black')
hold on
b = -1:N; m = 0; c = eta1; b = m * a + c;
plot(b, a, ':','Color', 'black','LineWidth',2)
eta1=min (eta1,P); eta2=min (eta2,P);
if eta1+eta2<P
X=[0 0 eta1 eta1]; Y=[0 eta2 eta2 0];
fill(X,Y,[0.85 0.85 0.85]);
else
X=[0 0 P-eta2 eta1 eta1]; Y=[0 eta2 eta2 P-eta1 0];
fill(X,Y,[0.85 0.85 0.85]); axis([-1 P+eta1+1 -1 P+eta2+1])
end
g = @(a,b) a+b-P;
fimplicit(g,[0 P 0 P],'-.','Color', 'black')
f = @(a,b) log((1+alpha1*a./(1+alpha2*b))) -lambda*log((1+beta1*a./(1+beta2*b)));
fimplicit(f,[-1 P+eta1+1 -1 P+eta2+1], 'Color','green')
hold on
grid on
%% Legend
xlabel('{\rho_{1}}');
ylabel('{\rho_{2}}');
legend('\eta_{2}','\eta_{1}','Feasible Area','{\rho_{1}}+{\rho_{2}}={\rho}','{log}({1}+({\alpha_{1}} {\rho_{1}}))/({1}+{\alpha_{2}} {\rho_{2}})={\lambda} {log}{1}+({\beta_{1}} {\rho_{1}})/({1}+{\beta_{2}} {\rho_{2}})','Location','northeast')
Jan
Jan 2021 年 3 月 9 日
You have asked some questions aboput the same problem already. It is still not clear, which intersections your are searching for. "intersection between lines" - between which lines? You post some code, which seems to work fine. But what exactly is your question?

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

回答 (0 件)

カテゴリ

Help Center および File ExchangeDates and Time についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by