Cut measured data, time series shifted

조회 수: 9 (최근 30일)
Mark S
Mark S 2022년 5월 5일
댓글: Mark S 2022년 5월 9일
Hello, attached I have some measured data. I want now cut the data until 0,6 seconds.
So I want that the plot is beginning at 0,6 with the time 0 seconds. How I can do that
M1 = readmatrix('1antastenz.dat'); %Anfahrtsbewegeung
M = [M1];
% plot force data
subplot(2,1,1)
plot(M(:,1)/1000,M(:,2))
hold on
plot(M(:,1)/1000,M(:,3))
hold on
plot(M(:,1)/1000,M(:,4))
hold on
legend('Fx','Fy','Fz')
grid on
h_xlabel = xlabel ({ '$t$\,/\,s'});
set(h_xlabel,'Interpreter','latex');
h_ylabel = ylabel ({'$F$\,/\,N'});
set(h_ylabel,'Interpreter',' latex');
% plot torque data
subplot(2,1,2)
plot(M(:,1)/1000,M(:,5))
hold on
plot(M(:,1)/1000,M(:,6))
plot(M(:,1)/1000,M(:,7))
legend('Mx','My','Mz')
grid on
h_xlabel = xlabel ({ '$t$\,/\,s'});
set(h_xlabel,'Interpreter','latex');
h_ylabel = ylabel ({'$M$\,/\,Nmm'});
set(h_ylabel,'Interpreter',' latex');
grid on
h_xlabel = xlabel ({ '$t$\,/\,s'});
set(h_xlabel,'Interpreter','latex');
h_ylabel = ylabel ({'$Weg$\,/\,mm'});
set(h_ylabel,'Interpreter',' latex');

답변 (1개)

Geoff Hayes
Geoff Hayes 2022년 5월 5일
@Mark S - since the first column on M corresponds to time, and since you divide that column by 1000, you would want to find all or at least the first element of that column that is greater than or equal to 600 (as 600/1000 = 0.6). So you could do something like
firstIndexSatisfyingCondition = find(M(:,1) >= 600,1);
We need only consider the first index since we assume that the column values are in increasing order. Then you can do
% plot force data
subplot(2,1,1)
plot(M(firstIndexSatisfyingCondition:end,1)/1000,M(firstIndexSatisfyingCondition:end,2))
hold on
plot(M(firstIndexSatisfyingCondition:end,1)/1000,M(firstIndexSatisfyingCondition:end,3))
hold on
plot(M(firstIndexSatisfyingCondition:end,1)/1000,M(firstIndexSatisfyingCondition:end,4))
hold on
I haven't tried the above but I hope the idea is clear.
  댓글 수: 3
Geoff Hayes
Geoff Hayes 2022년 5월 9일
@Mark S - won't that be misleading if you change the time (shift) from 0.6 to 0.0 seconds?
Mark S
Mark S 2022년 5월 9일
I want manipulate my data. Because I have data where for example 100 seconds is happening nothing. So I want to cut this data and shift it to the left, so that it looks that the values change after some seconds after startup.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 2-D and 3-D Plots에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by