【Matlab】eval命令的应用

[复制链接]
eval在matlab中可以用来执行字符串表示的命令,现总结几个常用格式例子:
) U+ x8 t9 t$ l( u6 F" h  i. s2 }(1)
( T. D, y; e1 D7 f+ f    for i=1:length(file)+ @0 V; Q' |. O3 ?
       data=load(file(i,1).name);! A  s9 ]: u+ [% `
       ind=find(data(:,1)>50000&data(:,7)<0.9&data(:,8)<7);
5 }4 k' V# y1 `7 u3 T       name=file(i,1).name(1:length(file(i,1).name)-4);     
' p% H' j- Q, k+ v& G        eval([name,'=','data(ind,;']);               
; ]' b4 Q6 G+ p* V        dat_nam=[' ',name];3 {, a1 P" m5 A1 }1 J: U3 U7 h. H
        eval(['save ',outdir,name,dat_nam])   
8 q; z$ Q% f5 E    end. x( w  q. g# ^& O3 B
(2)
" y# n5 g; X9 S    for i=[2 3 5 6]; M! W$ r0 U  [. o
           eval(['data=','load(''DC',num2str(i),'.mat'');'])$ ?0 R# d: P4 h) x: ^/ s( c( U! f
           eval(['data1=','data.DC',num2str(i),'_nd5.u(:,1);'])" }, S0 b0 f/ C* J
           eval(['data2=','data.DC',num2str(i),'_nd5.v(:,1);'])
! G  y# A+ @' H+ ^" T. B: O: e) B6 A6 w           U_std(i,1)=std(data1);
, M! K/ E# G+ A0 o           V_std(i,1)=std(data2);; A0 B  n9 w0 o  q, |% k* v) Q
    end& Z: I$ s, F. ^3 F. [# R  Z% [6 L$ S
(3)6 ?1 p  c" u# W) f
               for j=1:34;$ F& {6 N. e+ K- }
                     for i=j*92-91:j*92" N7 j# ?* P) b2 Y( V
                               k=i-92*(j-1);# E6 r. [3 ^6 u7 o
                               data(k,:,=mean(u(i*4-3:i*4,:,);
/ g* t7 o  a# I0 f                      end
4 u, I( b- k) s! @: X+ g8 ]                      eval(['u',num2str(j),'=data;'])# [' P- }& t0 O& g
                      eval(['save u',num2str(j),' u',num2str(j)])

- H# x- C' r( s8 P/ ]: Y
                end+ p5 N0 y9 t( |/ }
(4) ( S3 h2 T( @) p
    datadir='F:\工作\2017\解决问题\data\DG\';
' A' u4 k6 t) l% @! I! J( G    filename=dir([datadir,'\*.mat']);" l- U: R0 w5 X! s4 M5 u
    for i=1:length(filename)
. N: r% N# A6 ?! V; ~: U7 u. V9 M        eval(['data=','load([''',datadir,'DG',num2str(i),'.mat'']);'])2 N* ~) s& o) |. ~* S
        DG_stainfo(i,=data.loc;
- s, u! m8 h3 O! w% e4 |        clear data# _- v& ?! g3 a1 f' c9 F! g, e# w
    end; h! I% k8 |5 ^
    " r- u+ s5 S2 Y/ Y+ w; h# x
. |. }4 l4 [5 m, W6 l( E
7 d1 E  V0 g  L5 O
eval能够进行批处理,所以对命名规律的数据的处理很有帮助。
- U7 a( v# ^( G- G2 z                    % f$ d2 T, ?! X/ S# M/ {, b
+ S. p* l' T+ O- }" [3 b2 A
                                        转载本文请联系原作者获取授权,同时请注明本文来自叶瑞杰科学网博客。
回复

举报 使用道具

相关帖子

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