How to find the error between two plots and plot the error in same diagram
17 次查看(过去 30 天)
显示 更早的评论
I need to plot error between two plots Ground_truth and Estimated_Long_Lat
Sharing my code here
figure;
Estimated_long = 180 / pi * lon;
Estimated_Lat = 180 / pi * lat;
plot(180 / pi * lon, 180 / pi * lat,'x','Linewidth',0.5);
hold on
Ground_Truth = xlsread('27');
G_Long = Ground_Truth(:,1);
G_Lat = Ground_Truth(:,2);
plot(G_Long,G_Lat,'-x','Linewidth',2)
hold on
hold off
ylabel('Latitude, [deg]','FontSize', 13);
xlabel('Longitude, [deg]','FontSize', 13);
title('Trajectory of vehicle with position close to Lane level','FontSize', 15)
legend('Estimated trajectory', 'Centre nodes of True trajectory','best')
Thanks
4 个评论
采纳的回答
Robert U
2022-2-15
Hi Abdul Sajeed Mohammed,
here some example that is close to what you do:
% example data params (circular trajectory)
R = 1000;
phi = 0:360;
% uniformly distributed noise (signed)
noise = 100 .* (rand(1,length(phi)) - 0.5);
% generate example date
Estimated_long = R .* sind(phi) + noise;
Estimated_Lat = R .* cosd(phi) + circshift(noise,floor(length(phi)/2));
% generate ground truth data
Ground_Truth = R .* [sind(phi); cosd(phi)];
G_Long = Ground_Truth(1,:);
G_Lat = Ground_Truth(2,:);
% Choose whatever error norm is applicable
totalErr = sqrt((Estimated_Lat - G_Lat).^2 + (Estimated_long - G_Long).^2);
% create figure with two subplots
fh = figure;
fh.OuterPosition = fh.OuterPosition .* [0.5 0.5 2 2];
sh{1} = subplot(1,2,1,'Parent',fh);
sh{2} = subplot(1,2,2,'Parent',fh);
hold(sh{1},'on')
axis(sh{1},'equal')
% plot measured and ground truth data into first subplot
plot(sh{1},Estimated_long, Estimated_Lat,'x','Linewidth',0.5);
plot(sh{1},G_Long,G_Lat,'-x','Linewidth',2)
ylabel(sh{1},'x, [m]','FontSize', 13);
xlabel(sh{1},'y, [m]','FontSize', 13);
title(sh{1},'Trajectory of vehicle with position close to Lane level','FontSize', 15)
legend(sh{1},'Estimated trajectory', 'Centre nodes of True trajectory')
% plot total error in second subplot
plot(sh{2},phi,totalErr,'.','MarkerSize',12);
xlabel(sh{2},'phi, [deg]','FontSize', 13);
ylabel(sh{2},'total error, [m]','FontSize', 13);
title(sh{2},'Total error of vehicle','FontSize', 15)
Concerning error norms, have a look here:
- https://en.wikipedia.org/wiki/Norm_(mathematics)
- http://www.math.pitt.edu/~sussmanm/2071Spring09/lab05/index.html
Kind regards,
Robert
5 个评论
Robert U
2022-2-24
It looks like there is a problem in the error plot. There are way too many curves unless you would have several runs. Can you post your measurement data as mat-file such that your code becomes executable?
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Annotations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!