Structure Cut

Utility function that applies the same cut to specified elements of a structure.

이 제출물을 팔로우합니다

As an example, suppose you had taken 155 seconds of data of the location (x,y,z) of a particle as a function of time (t). It is convenient to put that all into a struct, such as this one:

>> data

data =

t: [155000x1 double]
x: [155000x1 double]
y: [155000x1 double]
z: [155000x1 double]

If you wanted to extract the data taken between 15 and 20 seconds, you would normally need to type

index = find((data.t > 15) & (data.t < 20));
cut_data.t = data.t(index);
cut_data.x = data.x(index);
cut_data.y = data.y(index);
cut_data.z = data.z(index);

Tedious, and prone to typos! Using the function "struct_cut" you can do the same thing by just typing

index = find((data.t > 15) & (data.t < 20));
cut_data = struct_cut(data,{'t','x','y','z'},index);

If you want to apply different cuts to each element of the structure, just type

cut_data = struct_cut(data,{'t','x','y','z'},{i_t,i_x,i_y,i_z});

where "i_t", "i_x", etc are four different cut arrays you make elsewhere.

I tested this with ~10-100 megabyte data sets, and it runs really fast. Hopefully it will work well for larger arrays also, please let me know!

인용 양식

Sean Bryan (2026). Structure Cut (https://kr.mathworks.com/matlabcentral/fileexchange/29074-structure-cut), MATLAB Central File Exchange. 검색 날짜: .

카테고리

Help CenterMATLAB Answers에서 Structures에 대해 자세히 알아보기

일반 정보

MATLAB 릴리스 호환 정보

  • 모든 릴리스와 호환

플랫폼 호환성

  • Windows
  • macOS
  • Linux
버전 퍼블리시됨 릴리스 정보 Action
1.0.0.0