Логарифмическая шкала по оси x поможет с представлением
set(gca, 'XScale', 'log')
Однако это приведет к тому, что теперь значения A
заполняют одну вертикальную линию.
Если вы не можете жить с этим, вы можете попробовать сломанную ось X.MATLAB не поддерживает это со встроенными функциями, но в обмене файлами MATLAB есть решение
https://de.mathworks.com/matlabcentral/fileexchange/3683-breakxaxis
Кстати: в вашем коде нет необходимости в цикле.На самом деле вы наносите A
дважды друг на друга.Всего
% Plot A and B without loop
plot(A(:,1), A(:,2),'r*')
hold on
plot(B(:,1), B(:,2), '-ko', 'LineWidth', 1, ...
'MarkerFaceColor', [.49 1 .63], 'MarkerSize',9)
% Set x axis to logarithmic scale
set(gca, 'XScale', 'log')
достаточно для отображения вашего графика