Plot a function with respect to another function

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);

 采纳的回答

Assign values to x and y, do the calculations producing z1 and z2, then
plot(z1, z2)

7 个评论

That simply does not give me the answer I want. The result plot is previously sketched in a paper and I want to reach that.
any other answers you can come up with?
Thank you
You need to define what it mean to plot z1 versus z1, if Walter's answer is not what you mean. Only you know what you mean here, and your question does not resolve that. If you have a sketch, then it would be best to show us, as your question is unclear.
Anything could be sketched in a paper. At the moment I have no reason to expect that the sketch is correct, or that you copied the equations exactly correctly. I also do not know what values you put in for x and y.
You are effectively calculating a 3D surface over x and y, and a second surface. What does it mean to plot one surface "vs" another surface? Normally when one plots p "vs" q then q becomes the control variable and p is shown for each q. In order to extend that to "z1 vs z2" with both being surfaces then you would need to create a plot that had at least 4 input dimensions and one output dimension.
if y = 1 (permitted since y <= 1), z2 doesn’t exist.
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)
Also if y = 0 then you multiply 0 by log(0) which is going to give you NaN.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Line Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by