1、
fid:
matlab习惯用fid操作文件,其bai实用其他字母du也可以,多个文件可用fid1,fid2来表示zhi。
一般用法:
fid=fopen('……dao')
此时fid有返回值,当是正数时代表打开文件成功,-1代表失败
feof与~feof:
————————————————
//函数feof(fid) 用法:文件指针 fid 到达文件末尾时返回“真”值;否则返回“假”;
~feof 是在 feof 前加了“非”,是逻辑表达式:文件指针到达文件末尾时 该表达式值为“假”;否则为“真”;
while ~feof 表示 若 未读到文件末尾 则 继续 循环
while feof 表示 若 未读到文件末尾 则 终止 循环,所以只循环一次就终止//
————————————————
版权声明:本段为CSDN博主「summer_upc」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/summer_upc/article/details/50804100
fgetl:
读取文件中的行,并删除换行符
tline = fgetl(
返回指定文件中的下一行,并删除换行符。fileID
)
-
如果文件非空,则
fgetl
以字符向量形式返回tline
。 -
如果文件为空且仅包含文件末尾标记,则
fgetl
以数值-1
的形式返回tline
。
isempty:
确定数组是否为空
如果 A
为空,TF = isempty(
返回逻辑值 A
)1
(true
),否则返回逻辑值 0
(false
)。空数组、表或时间表有至少一个长度为 0 的维度,如 0×0 或 0×5。
strncmp:
比较字符串的前 n
个字符(区分大小写)
比较 tf
= strncmp(s1,s2
,n
)s1
和 s2
的前 n
个字符。如果二者相同,函数将返回 1
(true
),否则返回 0
(false
)。如果两个文本段的内容一直到结尾都相同或前 n
个字符相同(以先出现者为准),则将这两个文本段视为相同。返回结果 tf
的数据类型为 logical
。
前两个输入参数可以是字符串数组、字符向量和字符向量元胞数组的任何组合。
统计magic.m文件中除去代码和注释的行数:
fid = fopen('magic.m','r');
count = 0;
while ~feof(fid)
line = fgetl(fid);
if isempty(line)|strncmp(line,'%',1)
continue
end
count = count +1;
end
disp(sprintf('%d lines',count));
2、
fibonacci数列中第一个大于9999的元素
a(1)=1;
a(2)=1;
n=1000;
for i=3:n
a(i)=a(i-1)+a(i-2);
if a(i)>9999
[i a(i)]
break
end
end