How I plot this ?

조회 수: 2 (최근 30일)
Hossein Alishahi
Hossein Alishahi 2021년 3월 4일
댓글: the cyclist 2021년 3월 6일
Please help me to plot this equation
Thanks in advance
log((1+alpha1*x/(1+alpha2*y))) -gamma*log((1+beta1*x/(1+beta2*y)));
alpha1=0.1; alpha2=0.2; beta1=0.2; beta2=1; gamma=1.3;

채택된 답변

the cyclist
the cyclist 2021년 3월 4일
Here is one way:
alpha1=0.1; alpha2=0.2; beta1=0.2; beta2=1; gamma=1.3;
x = 0 : 0.1 : 10;
y = 0 : 0.1 : 10;
[xx,yy] = meshgrid(x,y);
f = log((1+alpha1*xx./(1+alpha2*yy))) -gamma*log((1+beta1*xx./(1+beta2*yy)));
figure
surf(x,y,f)
  댓글 수: 2
the cyclist
the cyclist 2021년 3월 4일
Answering the comment you placed here, then deleted.
alpha1=0.1; alpha2=0.2; beta1=0.2; beta2=1; gamma=1.3;
x = 0 : 0.1 : 10;
y = 0 : 0.1 : 10;
[xx,yy] = meshgrid(x,y);
f = zeros(size(xx));
figure
surf(x,y,f)
(I saw that you also emailed me, but I don't answer via email, so better to post here.)
Hossein Alishahi
Hossein Alishahi 2021년 3월 4일
Thank you.
But I meant
f = log((1+alpha1*xx./(1+alpha2*yy))) -gamma*log((1+beta1*xx./(1+beta2*yy)))==0
please help me in this problem

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

the cyclist
the cyclist 2021년 3월 4일
편집: the cyclist 2021년 3월 4일
You can use the fimplicit function.
alpha1=0.1; alpha2=0.2; beta1=0.2; beta2=1; gamma=1.3;
f = @(x,y) log((1+alpha1*x./(1+alpha2*y))) -gamma*log((1+beta1*x./(1+beta2*y)));
figure
fimplicit(f,[0 100 0 10]) % Chose these plot limits after a little experimentation
  댓글 수: 2
Hossein Alishahi
Hossein Alishahi 2021년 3월 6일
I have below code
%% Input Values
clear all
clc
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
x = -1:P;m = 0; c = eta2; y = m * x + c;
plot(x, y, 'black')
y = -1:P; m = 0; c = eta1; y = m * x + c;
plot(y, x, 'black')
eta1=min (eta1,P); eta2=min (eta2,P);
if eta1==0 && eta2==0;
X=[0 0 P]; Y=[0 P 0];
fill(X,Y,[0.85 0.85 0.85]); axis([-1 P -1 P])
end
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 -1 P])
end
X=[0 0]; Y=[0 P];
line(X,Y,'Color','black')
hold on
line(Y,X,'Color','black')
g = @(x,y) x+y-P;
y1=fimplicit(g,[0 P 0 P])
f = @(x,y) log((1+alpha1*x./(1+alpha2*y))) -lambda*log((1+beta1*x./(1+beta2*y)));
y2=fimplicit(f,[-1 P -1 P], '-')
hold on
grid on
Where I consider alpha1=1, alpha2=0.2, beta1=1; beta2=2, lambda=2, eta1=2, eta2=3, P=1
I want to find the intersection for lines in the picture. Could you please help me!
the cyclist
the cyclist 2021년 3월 6일
You might want to post a new question, so more people see this. I don't see the answer right away, and I don't think I'm going to get a chance to think about it more for a while.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Line Plots에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by