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

27 views (last 30 days)

Show older comments

Abdul Sajeed Mohammed
on 15 Feb 2022

Commented: Robert U
on 24 Feb 2022

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 Comments

### Accepted Answer

Robert U
on 15 Feb 2022

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 Comments

Robert U
on 24 Feb 2022

### More Answers (0)

### See Also

### Categories

### Community Treasure Hunt

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

Start Hunting!