# How to find the error between two plots and plot the error in same diagram

18 ビュー (過去 30 日間)
Abdul Sajeed Mohammed 2022 年 2 月 15 日
コメント済み: Robert U 2022 年 2 月 24 日
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
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 件のコメント表示非表示 3 件の古いコメント
Abdul Sajeed Mohammed 2022 年 2 月 15 日
yes, but problem is lat and long combined give me location. for 'n' number of lat _long positions with equal dimensions of ground truth lat_long points...how can i find distance or say difference between them. I am unable to proceed further.

サインインしてコメントする。

### 採用された回答

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:
Kind regards,
Robert
##### 5 件のコメント表示非表示 4 件の古いコメント
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?

サインインしてコメントする。

### カテゴリ

Find more on Images in Help Center and File Exchange

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by