我在Matlab中遇到了代码问题。我想获取文件中第二列中所有元素的平均值,但由于某种原因,代码不包括最后一行。 我的文件看起来像这样:
我的代码看起来像这样:
正如您可能已经了解的那样,我的代码获得了除意大利最后一个数字之外的所有数字的平均值。
有关如何进行的任何建议都将受到高度赞赏。
答案 0 :(得分:1)
Mathworks实际建议不要将feof
与fgetl
循环一起使用,而是检查输出是否为ischar
。只需将~feof(fid)
替换为ischar(line)
。
附注:line
也是一个MATLAB函数,通过使用它作为变量名称,您可以隐藏函数。虽然这里并不重要,但你应该尽量避免这样做。如果您在工作区中使用变量line
时尝试使用line
函数或其他调用line
的函数,则可能会出现错误。这就是为什么您会看到帮助中的示例使用tline
之类的内容作为变量名称。
答案 1 :(得分:-1)
你应该把
line=fgetl(fid)
到while循环中的顶部。