作业帮 > 综合 > 作业

matlab问题 帮忙解析下下面的程序

来源:学生作业帮 编辑:大师作文网作业帮 分类:综合作业 时间:2024/10/04 05:32:39
matlab问题 帮忙解析下下面的程序
某计算机机房的一台计算机经常出故障,研究
者每隔 15 分钟观察一次计算机的运行状态,收集了 24 小
时的数据(共作 97 次观察).用 1 表示正常状态,用 0 表
示不正常状态,所得的数据序列如下:
1110010011111110011110111111001111111110001101101
111011011010111101110111101111110011011111100111
求在96次状态转移中,
clc,clear
fid=fopen('mashi.txt','r');a=[];
while feof(fid))
a=[a fgetl(fid)];
end
for i=0:1
for j=0:1
s=[int2str(i),int2str(j)];
f(i+1,j+1)=length(findstr(s,a));
end
end
matlab问题 帮忙解析下下面的程序
fid=fopen('mashi.txt','r'); //打开txt文件
a=[]; //对 a 赋初值
while (~feof(fid)) //未到文件末则读一行,添加到a,最后的a是一个行向量
a=[a fgetl(fid)];
end
for i=0:1
for j=0:1
s=[int2str(i),int2str(j)]; // s存在00、01、10、11四种情况
f(i+1,j+1)=length(findstr(s,a));
// f(1,1) 记录a中状态转移为 00 的总数
// f(1,2) 记录a中状态转移为 01 的总数
// f(2,1) 记录a中状态转移为 10 的总数
// f(2,2) 记录a中状态转移为 11 的总数
end
end
再问: 类似fget1有没有fget2?或fget3?findstr(s,a)是什么意思?s为什么不能直接=[ i , j ]?
再答: 注意:是fget Line小写 l,不是数字1。
s=[int2str(i),int2str(j)]

是把 i、j 转化成字符串再用 [ ] 拼接,结果是字符串。上面构造的a最终也是个字符串。