【Matlab】eval命令的应用

[复制链接]
eval在matlab中可以用来执行字符串表示的命令,现总结几个常用格式例子:
8 I6 i& `7 W' R) [" \1 w7 ?(1)
$ [9 y. Y) i- f) |* H; A    for i=1:length(file), o5 k3 T$ E5 r& |% H
       data=load(file(i,1).name);
# S) ?0 T/ n5 A* `. p0 l       ind=find(data(:,1)>50000&data(:,7)<0.9&data(:,8)<7);- L) E/ B7 w  q$ C8 D, X
       name=file(i,1).name(1:length(file(i,1).name)-4);     : F7 L7 t3 n6 n6 x! A6 v
        eval([name,'=','data(ind,;']);               
6 K2 N9 E% Z+ \- l$ a- W        dat_nam=[' ',name];
6 J) O: u3 b' ^' z9 b( [0 g7 W  [9 q        eval(['save ',outdir,name,dat_nam])   
. f3 c& ]3 H1 q5 \' C" ]    end
9 d$ x" h1 o+ e0 [) n(2)/ J9 ^/ u$ P& E. U! J: K
    for i=[2 3 5 6]
1 I5 x" d8 w: ~; K& |           eval(['data=','load(''DC',num2str(i),'.mat'');'])
! R+ e( A0 u* |6 B7 l- }           eval(['data1=','data.DC',num2str(i),'_nd5.u(:,1);'])
/ ]+ O$ R1 z) r6 L( }3 a           eval(['data2=','data.DC',num2str(i),'_nd5.v(:,1);'])2 w0 ?9 u9 O% m
           U_std(i,1)=std(data1);/ k3 K* k6 c- B( c
           V_std(i,1)=std(data2);: |+ n$ ~1 ^( f1 w; r
    end4 [  R6 S( z/ Q* \7 d# Q' x0 ~0 I# @
(3)
& O6 _+ w9 K  O5 T               for j=1:34;
2 W% k  I5 i1 _9 h1 p' a                     for i=j*92-91:j*92( n6 U1 l" B/ j# i/ n
                               k=i-92*(j-1);, |( H# W0 H5 V# r
                               data(k,:,=mean(u(i*4-3:i*4,:,);
+ \, u8 A# [+ O# h                      end
* x: y% k' L7 R) l                      eval(['u',num2str(j),'=data;']): T. A3 x8 v; U- D% ~+ ]
                      eval(['save u',num2str(j),' u',num2str(j)])

+ H. O5 H! @+ |: r
                end
: P9 z5 |2 a, V+ i" ?(4) 5 @! b5 u5 S) K4 w
    datadir='F:\工作\2017\解决问题\data\DG\';
& I  p( E' R2 q" {# r/ n    filename=dir([datadir,'\*.mat']);
1 S0 V: r) j4 Y: c5 L6 k% ^    for i=1:length(filename)8 ?, J7 ]/ h5 P3 Z2 y3 d$ x
        eval(['data=','load([''',datadir,'DG',num2str(i),'.mat'']);'])
: q3 _# Z( y" `        DG_stainfo(i,=data.loc;
! A7 d+ h& J, ^. @% U        clear data
% L7 q7 }( m, V  t; j9 F    end
) f4 @7 M) y: }9 w    % z$ }" M4 Y  z# n( }. k9 u( {
5 x+ L: D, K0 x6 v

: ^8 X5 G6 s, h' s2 X) U& meval能够进行批处理,所以对命名规律的数据的处理很有帮助。: h, b$ R  X, E/ C
                    
* O( V( o. x3 l4 }; z2 _) X, G9 T3 j6 T6 \% |0 ], C
                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。
回复

举报 使用道具

相关帖子

全部回帖
暂无回帖,快来参与回复吧
懒得打字?点击右侧快捷回复 【吾爱海洋论坛发文有奖】
您需要登录后才可以回帖 登录 | 立即注册
黄金品质
活跃在2021-12-8
快速回复 返回顶部 返回列表