30 個のファイル (UE1.dat、UE2.dat、......) があり、それらはすべて 2 つの列で構成されています (最初の列は遅延で、2 番目の列はその CDF です)。したがって、範囲 [100:600] のすべての遅延の CDF 値がないため、これら 30 ファイルすべての最初の列に従って 2 番目の列を補間し、その後データを 0 と 1 の間で正規化する必要がありました。 . 今まですべてが完璧に機能しています。
最後に、x、y、および y エラーバーで構成されるグラフをプロットする必要があります。x
は範囲 (100:1:600) で、ステップ 1 で 100 から 600 までy
の補間データのすべての行の平均です。y エラーバーについては、すべての y 行の標準偏差も計算します。x
しかし、エラーバーを使用してデータをプロットすると、奇妙に見え、奇妙な x ダッシュがいくつかありますが、y に対して x のみをプロットすると、すべてがうまく見えます。y エラーバーに関する問題のトラブルシューティング方法のヒントを教えてください。何か見落としているかもしれません。MATLAB コードの下に、グラフも添付されています。
clc;
close all;
clear all;
% xq1 = (100:600)
NUM_UES = 30;
NUM_SAMPLES = 501;
for i=1:NUM_UES
%% Loading data
x = load(strcat('C:\Users\tgetsov\Documents\BA THESIS\temp_200\ral\UE',num2str(i),'.cdf.dat'));
y = strcat('C:\Users\tgetsov\Documents\BA THESIS\temp_200\ral\UE',num2str(i),'.cdf.dat');
xq = 100:1:600;
Result(:, i) = interp1(x(:,1), x(:,2), xq, 'linear', 'extrap');
Result_norm(:, i) = (Result(:, i) - min(Result(:, i)))/(max(Result(:, i) - min(Result(:, i))));
end
% p=0:length(Result)-1;
%%Plotting Data
% figure(i);
% % plot(p,Result); hold on;grid;
% plot(xq_i,Result_i);
% hold on;
% grid;
for k=1:NUM_SAMPLES
avg(k) = mean(Result_norm(k,:));
min_30_ral(k) = min(Result_norm(k,:),[],2);
max_30_ral(k)= max(Result_norm(k,:),[],2);
stdev(k) = std(Result_norm(k,:))*ones(size(xq(:, k)));
variance(k) = var(Result_norm(k, :));
end
v = variance;
v2 = zeros(size(v));
v2(1:50:end) = v(1:50:end);
m = stdev;
m2 = zeros(size(m));
m2(1:50:end) = m(1:50:end);
% [F , X] = ecdf(avg)
figure (1)
% errorbar(xq,avg,min_30_ral,max_30_ral);
% errorbar(xq,avg,m2);
% errorbar(xq,avg,v2);
errorbar(xq,avg,m2);
hold on;
grid;
figure (2)
plot (xq, avg);
hold on;
grid;
x 対 y:
エラーバー付きのyに対するx: