issues with plots with multiple information

1 view (last 30 days)
I need to plot those information but it's show me "Error using plot
Vectors must be the same length."
All the information provided and text file.
clear;
clf('reset');
max_iterations = 1000;
xs = 1: max_iterations;
num_devices=50;
ys_00=importdata('NOMA_users.txt');
ys_01=importdata('NOMA_users.txt');
ys_02=importdata('NOMA_users.txt');
ys_00 =NOMA_users(1:max_iterations, 1);
Unrecognized function or variable 'NOMA_users'.
b = bar(xs, ys_00);
plot(xs, ys_00);
hold on;
plot(xs, ys_01);
plot(xs, ys_02);
ylim([0 num_devices]);
title({title_text_1; title_text_2; title_text_3})
xlabel("Iterations");
ylabel("Number of selected clients");
% legend({'Number of selected clients by LEARN ', ...
% 'LEARN (after energy filtering)', ...
% 'GREED'}, ...
% 'location', 'northwest');
% set(gca,'XMinorTick','on','YMinorTick','on');
% grid on;
TextFontSize=25;
LegendFontSize = 20;
set(0,'DefaultAxesFontName','Times',...
'DefaultLineLineWidth',1,...
'DefaultLineMarkerSize',6);
set(gca,'FontName','Times New Roman','FontSize',TextFontSize);
hold off;
clear;
figure;
clf('reset');
plot(xs,ys1, '-bo');
ylim([0 num_devices]);
% title({title_text_1; title_text_2; title_text_3})
ylabel(ylabel_text_1);
xlabel('Mean value of $\mu_{i}$', 'interpreter', 'latex');
  4 Comments
Brave A
Brave A on 20 Jul 2022
still get this messgae
Index in position 1 exceeds array bounds (must not exceed 599).

Sign in to comment.

Accepted Answer

Walter Roberson
Walter Roberson on 19 Jul 2022
ys_00 =NOMA_users(1:max_iterations, 1);
NOMA_users does not exist as a function or variable in your code. You read in data from a file with that name, but you store the data in ys_00
We can speculate that in your real code you are doing
ys_00 = ys_00(xs, 1);
Later you plot xs vs ys_00 and that should work because they are the same length.
ys_01=importdata('NOMA_users.txt');
ys_02=importdata('NOMA_users.txt');
That is the same input file name as what you already read in.
Later you plot xs vs ys_01 but unlike with ys_00 you did not extract a subset of the file, so your x is length 1000 but your ys_01 is the full file of data. You probably need
ys_01 = ys_01(xs, 2);
or something similar, and likewise for ys_02
  4 Comments
Walter Roberson
Walter Roberson on 20 Jul 2022
Edited: Walter Roberson on 20 Jul 2022
use
ys_00 = importdata('NOMA_users.txt');
max_iterations = min(1000, size(ys_00,1));
xs = 1:max_iterations;
ys_00 = ys_00(xs, 1);

Sign in to comment.

More Answers (0)

Categories

Find more on Graphics Performance in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!