dhj_dhj 发表于 2007-9-23 13:40

两行与文件相关的程序请教

请教各位问这两句是什么意思?
(1) ify = dir( strcat( 'D:\projects\m\', 'SS-', NIFS, Ivp3, '*.mat' ) )
(2) NIFY = {ify.name}

其中(1)中变量可以不用考虑,关键是后面的*.mat'代表什么意思阿,是所有的.mat文件吗?

还有(2)中是什么意思呢?

[ 本帖最后由 eight 于 2007-9-24 10:17 编辑 ]

不化顽石 发表于 2007-9-23 14:27

我估计NIFS, Ivp3是两个字符串,前面的代码中应该有定义,知道了这两个就晓得到底dir命令列出的是哪些.mat文件了。

dir命令返回的是一个结构体:
struct array with fields:
    name
    date
    bytes
    isdir

所以第二句是把列出的.mat文件的文件名赋给变量NIFY。

所有这些用一个语句: help dir全部能搞清楚,下次可以自行查看。

[ 本帖最后由 不化顽石 于 2007-9-23 14:29 编辑 ]

dhj_dhj 发表于 2007-9-23 19:02

回复 #2 不化顽石 的帖子

你估计的完全正确
关于dir这个命令我看了帮助了
还是不是太明白
不知道顽石兄能不能举个例子小说明一下
这样我比较容易理解
谢谢

不化顽石 发表于 2007-9-23 20:06

比如说我在'D:\projects\m\'目录下有个文件:
‘my_lorenz.m'
现在我想把它找出来:
我在前面要先定义:

A = 'lor';
B = 'enz';

然后再把文件找出来:
>> ify = dir( strcat( 'D:\projects\m\', 'my_',A,B, '.m' ) )

ify =

   name: 'my_lorenz.m'
   date: '21-Sep-2007 10:41:36'
    bytes: 1343
    isdir: 0

等于是把这个文件找出来,然后将其四个数性赋给了ify这个变量,它是一个结构体,你写的第二句,是结构体变量的查看办法,这个应该没什么问题:

>>NIFY = {ify.name}

NIFY =
    'my_lorenz.m'

但如果我在那个目录下面有n个文件,比如‘my_lorenz.m' ,‘my_lorenz2.m' ,‘my_lorenz3.m' ……
这时候,那个'*.m'就有用了。

[ 本帖最后由 不化顽石 于 2007-9-23 20:09 编辑 ]

dhj_dhj 发表于 2007-9-24 13:05

十分感谢!
问题解决了
页: [1]
查看完整版本: 两行与文件相关的程序请教