an average curve for multiple curves (with different lenghts)
37 次查看(过去 30 天)
显示 更早的评论
Hey,
I have 4 samples (with displacement [mm] and Force[KN]), every vector (sample) has a different lenght.
I'v plotted 4 curves for the samples, now I need to get a tTrendline ("Trendcurve") which presents the average of all samples and getting the values of it. AND that's all without excluding any of the vector values.
I could only get the average of the 4 curves depending on limitting the lenght of the 4 vectors, which may prevent me covering important field of the results.
Does anyone have an idea how should i do it?
thanks in advance.
Preparing the samples
%Sample 1
Weg1=WA1(:,1)
Last1=LastInstron1(:,1)
%Sample 2
Weg2=WA2(:,1)
Last2=LastInstron2(:,1)
%Sample 3
Weg3=WA3(:,1)
Last3=LastInstron3(:,1)
%Sample 4
Weg4=WA4(:,1)
Last4=LastInstron4(:,1)
plotting the 4 samples
grid on
plot(Weg1,Last1,'k-')
xlim([-0.0 7.5])
ylim([0 12.5])
hold on
plot(Weg2,Last2,'r-')
hold on
plot(Weg3,Last3,'b-')
hold on
plot(Weg4,Last4,'g-')
hold on
grid on
hold off
legend({'Sample 1','Sample 2','Sample 3','Sample 4'},'Location','southeast')
xlabel('Displacement [mm]','FontSize',12,'FontWeight','bold','Color','k')
ylabel('Force [KN]','FontSize',12,'FontWeight','bold','Color','k')
Arbeitslinie
% limitting the 4 vectors to get the average of them
tW1=Weg1(1:18211,1)
tW2=Weg2(1:18211,1)
tW3=Weg3(1:18211,1)
tW4=Weg4(1:18211,1)
tL1=Last1(1:18211,1)
tL2=Last2(1:18211,1)
tL3=Last3(1:18211,1)
tL4=Last4(1:18211,1)
avgDisp=(tW1+tW2+tW3+tW4)/4
avgForc=(tL1+tL2+tL3+tL4)/4
%plotting the average curve
plot(avgDisp,avgForc)
ylim([0 12])
xlabel('Displacement [mm]')
ylabel('Force KN')
% getting the values of the average
Arbeitslinie=[avgDisp avgForc]
0 个评论
回答(1 个)
KSSV
2021-6-30
You do the interpolation and get all the curves to the same size. Read about interp1.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Interpolation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!