How to plot for different parameter values of a, p1 and p2

7 views (last 30 days)
Hi all, I want to plot using different parameter values of a, p1 and p2 in the same plot in the following code. Like a = 1,2,3 , p1= 1,2,3 and p2= 1,2,3.
My code:
a = 1;
p1=1;
p2=1;
r1 = 1/2.*log2(1+(p1/(a+ p2)));
r2 = 1/2.*log2(1+(p2/(a)));
plot([0 r1],[r2 r2]);
hold on;
plot([r1 r2],[r2 r1]);
plot([r2 r2],[r1 0]);
Thanks
  2 Comments
TastyPastry
TastyPastry on 20 Oct 2015
Can you be more specific as to what you're trying to plot on each axis? Currently your code plots 3 lines on the same plot. Are you trying to shorten your code?
vetri veeran
vetri veeran on 21 Oct 2015
Edited: vetri veeran on 21 Oct 2015
I want to plot r1 and r2 on x and y axis respectively. Also, I need to compare the difference of r1 and r2 plot by using different values of a, p1 and p2.

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 21 Oct 2015
Try this:
% Define variables.
a = [1,2,3];
p1 = [1,2,3];
p2 = [1,2,3];
for index = 1 : length(p1)
subplot(2, 2, index);
r1 = 1/2. * log2(1+(p1(index) / (a(index)+ p2(index))));
r2 = 1/2 .* log2(1+(p2(index) / (a(index))));
fprintf('For index = %d, a=%d, p1 = %d, p2 = %d, r1 = %f, r2 = %f\n', ...
index, a(index), p1(index), p2(index), r1, r2);
plot([0 r1],[r2 r2], 'b*-', 'LineWidth', 3, 'MarkerSize', 15);
hold on;
plot([r1 r2],[r2 r1], 'b*-', 'LineWidth', 3, 'MarkerSize', 15);
plot([r2 r2],[r1 0], 'b*-', 'LineWidth', 3, 'MarkerSize', 15);
grid on;
caption = sprintf('a=%d, p1 = %d, p2 = %d', a(index), p1(index), p2(index));
title(caption, 'FontSize', 20);
xlabel('X', 'FontSize', 20);
ylabel('Y', 'FontSize', 20);
end
% Set up figure properties:
% Enlarge figure to full screen.
set(gcf, 'Units', 'Normalized', 'OuterPosition', [0 0 1 1]);
% Get rid of tool bar and pulldown menus that are along top of figure.
set(gcf, 'Toolbar', 'none', 'Menu', 'none');
% Give a name to the title bar.
set(gcf, 'Name', 'Demo by ImageAnalyst', 'NumberTitle', 'Off')
  2 Comments
vetri veeran
vetri veeran on 21 Oct 2015
Edited: vetri veeran on 21 Oct 2015
Thank you for reply. Could you please tell me, How do I plot a=1,2,3 p1=1,2,3 and p2=1,2,3 in only one plot(X and Y) so that I can easily compare all the parameters of a, p1 ,p2.
Image Analyst
Image Analyst on 21 Oct 2015
Delete the "subplot" line at the beginning of the for loop.

Sign in to comment.

More Answers (0)

Categories

Find more on Line Plots in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!