如何从matlab中的文件中获取数字?

时间:2015-05-01 10:32:19

标签: matlab

在我的程序中,我想保存计数器值。像1一样,如果计数器增加,则1将替换为2。我在目录中创建了一个文件test.txt并手动输入了一个数字1,并使用此代码读取该数字。

f=fopen('test.txt');
cno=fread(f);
cno
fclose(f);

cno的值是ASCII格式我猜是因为它在文件中保存了这样。 我尝试使用像parseInt这样的函数,但没有工作。 请告诉我如何编写以及从文件中读取数字。 此外,如果有任何其他方法可以保存该计数器值而不是文件。我想保留价值,即使我关闭了matlab代码,这就是为什么我将它保存到文件中。

1 个答案:

答案 0 :(得分:1)

这有几种方法。如果您不需要确保与外部程序的兼容性,则MATLAB的saveload命令应该足够了。

一个基本的例子:

a = 5;
save('test.mat', 'a');

clear a

load('test.mat');
disp(a)

有关语法信息,请参阅save的文档。

作为一般说明,我建议使用声明的输出调用load,这会将保存的*.mat文件中的所有变量加载到结构中,从而防止它们覆盖工作空间中的现有数据

使用上一个示例中的test.mat

mydata = load('test.mat');
disp(mydata.a)

编辑:现在,如果您想将其存储到通用文件中,最常用的方法是使用fprintffscanf

a = 5;

fID = fopen('test.txt', 'w+');
fprintf(fID, '%u', a);
fclose(fID);

clear a

fID = fopen('test.txt', 'r')
a = fscanf(fID, '%u');
fclose(fID);