How can I plot average loop graph as given in the image

clc
clear all
close all
C = readtable('A_G1.txt', 'NumHeaderLines',8);
%Convert to SI Units
accG2test = C{:,1}.*9.81;
forceG2test = C{:,2}.*0.00981;
dispG2test = C{:,3}./1000;
dispG2test2 = smoothdata(dispG2test, 'sgolay', 100);
%force
forceG2test2 = smoothdata(forceG2test, 'sgolay', 100);
z = linspace(min(dispG2test2),max(dispG2test2),length(dispG2test2));
[cmin,cxix] = (min(dispG2test2));
[cmax,cnix] = (max(dispG2test2));
[fmin,fxix] = (min(forceG2test2));
[fmax,fnix] = (max(forceG2test2));
%meana = mean(dispG2test2,3);
%meanb = mean(forceG2test2,2);
%xx = spline(meana,meanb);
figure(1)
plot(dispG2test2, forceG2test2)
hold on
plot([cmin cmax], [fmin fmax], '+r', 'MarkerSize', 5, 'LineWidth',1.5)
%plot (xx,'or')
hold off
legend('Force v. Deflection');
title('Force vs Deflection');
xlabel('Deflection[m]');
ylabel('Force[N]');

Answers (1)

I'd start by looking at splitapply(), grpstats(), or groupsummary() to get the average of each unique pair of (x,y) coordinates.

5 Comments

can you tell how can do that in this code?
Sorry, I don't have time now. I need to leave the computer. Give it a try yourself. You'll probably have it figured out by the time I return.
whenever you return please tell me how can i do it, i can cross verify it.
If you're going to cross verify (compare mine to yours) then that means you already have your own version already. Tell me your way first.
yes i tried using the mean as I have commented in the code. But it didn't work so i was trying but i am not able to do it. So was asking for your help.

Sign in to comment.

Products

Asked:

on 23 Oct 2021

Commented:

on 23 Oct 2021

Community Treasure Hunt

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

Start Hunting!