以下是添加绘制历史搜索图的代码:
```matlab
% 绘制历史搜索图
searchHistory = [xArr; yArr];
figure;
hold on;
for i = 1:size(searchHistory,2)
scatter(i, searchHistory(1,i), 10, 'r', 'filled');
scatter(i, searchHistory(2,i), 10, 'b', 'filled');
end
title('Search History');
xlabel('Time Step');
ylabel('State');
legend('True Distance', 'APD');
set(gca,'FontSize',10);
% 使用Chart.js库创建动态历史搜索图
html = '';
chartData = ['var data = {labels: ' mat2str(1:tf) ', datasets: [{label: ''True Distance'', borderColor: ''red'', data: ' mat2str(xArr) ', fill: false}, {label: ''APD'', borderColor: ''blue'', data: ' mat2str(yArr) ', fill: false}]};'];
chartOptions = 'var options = {responsive: true, title: {display: true, text: ''Search History''}, scales: {yAxes: [{ticks: {beginAtZero:true}}]}};';
js = [chartData chartOptions 'var ctx = document.getElementById("myChart").getContext("2d"); var myChart = new Chart(ctx, {type: ''line'', data: data, options: options});'];
web(['data:text/html,' html '']);
```
以上代码中,首先使用MATLAB绘制了历史搜索图,然后使用Chart.js库创建了一个动态的历史搜索图表。在Chart.js库中,使用了Line Chart类型的图表,并设置了响应式布局、标题和Y轴刻度等选项。最后将HTML代码和JavaScript代码合并,通过web函数打开浏览器显示动态图表。