필터 지우기
필터 지우기

Loop code for many data files and save

조회 수: 1 (최근 30일)
Tesla
Tesla 2021년 7월 20일
댓글: Tesla 2021년 7월 21일
I wrote this code, which load a file text2.dat, to use its data to calculate velocity.
I have many files text3.dat test4.dat...
I want to make this code to load all files and calculate velocity for each file, then save it separatly (vel1.dat, vel2.dat, vel3.dat....)
data=load('test2.dat');
time= data(:,1);
x= data(:,2);
y= data(:,3);
x=x*(3e-7);
y=y*(3e-7);
Vx = gradient(x, time);
Vy = gradient(y, time);
for i=1:n-1
vel_x(i) = ((x(i)-x(i+1)))/(time(i)-time(i+1));
%t(i)= x(i)-x(i+1);
%s= gradient (x);
vel_y(i) = ((y(i)-y(i+1)))/(time(i)-time(i+1));
vel(i) = sqrt(vel_x(i)*vel_x(i)+ vel_y(i)* vel_y(i))
V(i) = sqrt(Vx(i)^2 + Vy(i)^2);
end
%V=V';
indices = find(abs(vel)>2e-4);
vel(indices) = [];
V=V';

채택된 답변

Walter Roberson
Walter Roberson 2021년 7월 20일
  댓글 수: 6
Walter Roberson
Walter Roberson 2021년 7월 21일
You are deleting some of the vel entries. Remember to delete the corresponding time entries.
You should probably make a variable that has time in the first column and vel in the second column, and save that.
Tesla
Tesla 2021년 7월 21일
I see, indeed you are right.
But when I make the loop
for i=1:n
I got this error
Error in veloc (line 16)
vel_x(i) = ((x(i)-x(i+1)))/(time(i)-time(i+1));
For the variable I tried doing something like this:
A=[time x y vel];
But I got this
Error using horzcat
Dimensions of matrices being concatenated are not consistent.
Error in veloc (line 25)
A=[time x y vel];

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by