如何将带有浮点数矩阵/table 的简单文本文件加载到 Scilab 中
How to load simple text file with float number matrix / table into Scilab
MATLAB 和 Octave 使用加载并将内容传输到具有相同名称的矩阵变量中。 Scilab 加载命令不会执行相同的操作。 loadmatfile 也做了一些不同的事情。在某些网站上,据说使用循环来读取数据。在 Scilab 中将文本数据文件转换为矩阵的最简单方法是什么?
我在 'Computational Science' 上问了这个问题,但他们建议这是正确的地方。
我知道变量不能为空。但它是一个文件而不是一个变量。当我将 0 赋给文件名时,它实际上删除了文件的内容并将 0 写入其中?
我也明白必须先打开一个文件。
我尝试了很多命令,但我感到很困惑。在 Matlab 和 Octave 中非常简单。
如果有人可以给出建议(实际代码),我可以 post 结果。
fscanfMat
fscanfMat 就是您要找的。
给出以下文件 (my_data.txt):
my comment about my data
0.91 0.82 0.86 0.67 0.30
0.55 0.06 0.25 0.34 0.53
0.60 0.11 0.48 0.90 0.12
0.93 0.23 0.68 0.07 0.85
0.93 0.86 0.86 0.69 0.09
将打印以下内容:
-->[my_mat,txt]=fscanfMat("./my_data.txt")
txt =
my comment about my data
my_mat =
0.91 0.82 0.86 0.67 0.3
0.55 0.06 0.25 0.34 0.53
0.6 0.11 0.48 0.9 0.12
0.93 0.23 0.68 0.07 0.85
0.93 0.86 0.86 0.69 0.09
备注
- 如果需要,文件的第一行非数字行将以文本形式返回(因此可选,例如对于任何注释)
- 所有剩余行的列数必须相同。
- 假设列分隔符是空格或制表符,如果两者都有,则默认选择空格。
- 矩阵的列数将遵循文件中找到的列数。
- 通过检测输入文件中的eof获取行数。
- 它支持编码为 ANSI/ASCII 和 UTF-8 的文件。
- 您可以选择控制格式字符串的解析(参见 scanf_conversion 文档)
MATLAB 和 Octave 使用加载并将内容传输到具有相同名称的矩阵变量中。 Scilab 加载命令不会执行相同的操作。 loadmatfile 也做了一些不同的事情。在某些网站上,据说使用循环来读取数据。在 Scilab 中将文本数据文件转换为矩阵的最简单方法是什么?
我在 'Computational Science' 上问了这个问题,但他们建议这是正确的地方。
我知道变量不能为空。但它是一个文件而不是一个变量。当我将 0 赋给文件名时,它实际上删除了文件的内容并将 0 写入其中?
我也明白必须先打开一个文件。
我尝试了很多命令,但我感到很困惑。在 Matlab 和 Octave 中非常简单。
如果有人可以给出建议(实际代码),我可以 post 结果。
fscanfMat
fscanfMat 就是您要找的。
给出以下文件 (my_data.txt):
my comment about my data
0.91 0.82 0.86 0.67 0.30
0.55 0.06 0.25 0.34 0.53
0.60 0.11 0.48 0.90 0.12
0.93 0.23 0.68 0.07 0.85
0.93 0.86 0.86 0.69 0.09
将打印以下内容:
-->[my_mat,txt]=fscanfMat("./my_data.txt")
txt =
my comment about my data
my_mat =
0.91 0.82 0.86 0.67 0.3
0.55 0.06 0.25 0.34 0.53
0.6 0.11 0.48 0.9 0.12
0.93 0.23 0.68 0.07 0.85
0.93 0.86 0.86 0.69 0.09
备注
- 如果需要,文件的第一行非数字行将以文本形式返回(因此可选,例如对于任何注释)
- 所有剩余行的列数必须相同。
- 假设列分隔符是空格或制表符,如果两者都有,则默认选择空格。
- 矩阵的列数将遵循文件中找到的列数。
- 通过检测输入文件中的eof获取行数。
- 它支持编码为 ANSI/ASCII 和 UTF-8 的文件。
- 您可以选择控制格式字符串的解析(参见 scanf_conversion 文档)