在matlab中找到图形的最佳值

Find Optimal Values of figure in matlab

我有一个像 x 轴误码率和 y 轴数据率这样的数字。我想在此图中找到最小误码率和最大数据速率。也就是说,我想做的事情在这个图中有 18 个点,我想找到最佳结果,但我做不到?

我相信您要问的是找到 BitErrorRate 和 DataRate 之间的最佳比率,在这种情况下,您需要计算每个 DataRate 的 BitErrorRate 比率,然后根据您是否正在寻找找到最小值或最大值每个 DataRate 的 BitErrorRate 更少或更多。假设 BitErrorRate 和 BitRate 保存在数组中,您可以使用如下代码:

% Give some random numbers to illustrate functionality
BitErrorRate = [2 7 3 5 8 1];
DataRate = [1 3 4 2 6 5];

% Find the ratio of BitErrorRate per DataRate
ErrorRatio = BitErrorRate ./ BitRate;

% Optimal ratio with minimal errors per data rate and corresponding index
[MinError, MinIndex] = min(ErrorRatio);

% Print results in console
disp(['Optimal error rate ratio is ' num2str(ErrorRatio(MinIndex)) ...
      ' BitErrorRate per DataRate with a Bit Error Rate of ' ...
      num2str(BitErrorRate(MinIndex)) ' and a Bit Rate of ' ...
      num2str(BitRate(MinIndex)) '.']);

% Sort in ascending manner according to top row, below this is DataRate
SortedForDataRate = sortrows([DataRate;BitErrorRate;ErrorRatio]')';

fig = figure(1);
subplot(3,1,1)
plot(SortedForDataRate(1,:))
title('BitErrorRate')
subplot(3,1,2)
plot(SortedForDataRate(2,:))
title('DataRate')
subplot(3,1,3)
plot(SortedForDataRate(3,:))
title('ErrorRatio')