1

基本的にプレフィックスを変更して、構造内の一連のフィールドの名前を変更する必要があります。

例えば

MyStruct.your_firstfield
MyStruct.your_secondfield
MyStruct.your_thirdfield
MyStruct.your_forthfield
%etc....

MyStruct.my_firstfield
MyStruct.my_secondfield
MyStruct.my_thirdfield
MyStruct.my_forthfield
%etc...

それぞれを入力せずに...たくさんあり、成長する可能性があるためです。

ありがとう!

4

1 に答える 1

3

これを行うには、出力構造体のフィールド名を動的に生成します。

% Example input
MyStruct = struct('your_firstfield', 1, 'your_secondfield', 2, 'your_thirdfield', 3 );

% Get a cell array of MyStruct's field names
fields = fieldnames(MyStruct);

% Create an empty struct
temp = struct;

% Loop through and assign each field of new struct after doing string 
% replacement. You may need more complicated (regexp) string replacement
% if field names are not simple prefixes
for ii = 1 : length(fields) 
  temp.(strrep(fields{ii}, 'your', 'my')) = MyStruct.(fields{ii}); 
end

% Replace original struct
MyStruct = temp;
于 2013-02-11T20:44:01.937 に答える