필터 지우기
필터 지우기

Plot a function with respect to another function

조회 수: 4 (최근 30일)
Saeid Hajizadeh
Saeid Hajizadeh 2014년 3월 11일
댓글: Walter Roberson 2014년 3월 12일
Dear guys,
I have two functions, each function of two variables x,y; namely z1 = f1(x,y) and z2 = f2(x,y) and want to plot z1 vs z2. The functions are below:
0 <= x,y <= 1;
z1 = -(1-x) .* ( (y./(1-x)).*(log((y./(1-x)))) + (1-((y./(1-x)))).*(log(1-((y./(1-x))))) ) /log(2);
z2 = -(1-y) .* ( (x./(1-y)).*(log((x./(1-y)))) + (1-((x./(1-y)))).*(log(1-((x./(1-y))))) ) /log(2);

채택된 답변

Walter Roberson
Walter Roberson 2014년 3월 11일
Assign values to x and y, do the calculations producing z1 and z2, then
plot(z1, z2)
  댓글 수: 7
Saeid Hajizadeh
Saeid Hajizadeh 2014년 3월 12일
편집: Saeid Hajizadeh 2014년 3월 12일
Thanks to all guys, I focused. The answer is right. My problem was that I used to put directly p1 and p2 into R12 and R21. The correct code is given below:
p1 = 0.01:0.001:0.49;
p2 = 0.01:0.001:0.49;
for i=1:1:481
for j=1:1:481
R12(i,j) = -(1-p1(i)) .* ( (p2(j)./(1-p1(i))).*(log((p2(j)./(1-p1(i))))) + (1-((p2(j)./(1-p1(i))))).*(log(1-((p2(j)./(1-p1(i)))))) ) /log(2);
R21(i,j) = -(1-p2(j)) .* ( (p1(i)./(1-p2(j))).*(log((p1(i)./(1-p2(j))))) + (1-((p1(i)./(1-p2(j))))).*(log(1-((p1(i)./(1-p2(j)))))) ) /log(2);
end
end
plot(R12,R21)
Now this is a large number of diagrams plotted simultaneously the envelope of which is the answer. I am trying to find a way to extract envelope here. If you have any idea, I appreciate having them (I am very basic in Matlab)
Walter Roberson
Walter Roberson 2014년 3월 12일
Also if y = 0 then you multiply 0 by log(0) which is going to give you NaN.

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Surface and Mesh Plots에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by