Scilab是一个用于数值计算的OpenSource Linux软件,类似于Matlab。 本教程将介绍如何将数据从文件加载到Scilab中以备以后使用或处理。 Scilab将解释文件中的代码,它的结构和格式等。为了在Scilab环境中使用一个文件,有必要使用许多以前的命令,允许读取和解释该文件。
你还没有安装scilab吗? 请参见 我们的 Scilab安装教程 。
使用mopen命令打开文件
此命令在Scilab中打开一个文件。 顺序是:
[fd, err] = mopen(file [, mode, swap ])
每个参数的含义是:
文件:包含要打开的文件的路径的字符串。
模式:指定文件请求的访问模式的字符串
交换:标量交换存在,交换= 0,则自动字节交换被禁用。 默认值为1。
Err:返回指示以下错误的值:
错误值 | 错误信息 |
0 | 没有错误 |
-1 | 没有更多逻辑单位 |
-2 | 不能打开文件 |
-3 | 没有更多的记忆 |
-4 | 无效值 |
-5 | 状态无效 |
Fd:正整数,表示文件描述符。
使用Scilab打开Ubuntu中的文件示例
现在,我们将使用de mopen命令打开MS Word文档
[fd, err] = mopen('/home/david/Documentos/Celestron Ubuntu.docx')
请注意,我们没有使用任何其他参数,仅用于开放目的。
注意:在变量浏览器中,我们可以找到包含fd的所有变量。
模式参数中的参数
这些参数用于控制对流的访问。 可能的值是:
r :打开文件进行阅读。
rb :打开二进制文件进行阅读。
rt :打开一个文本文件进行阅读。
w :创建一个新文件进行写入。 还将实际文件截断为零长度。
wb :创建一个新的二进制文件进行写入。 还将实际文件截断为零长度。
wt :创建一个新的文本二进制文件进行写入。 还将实际文件截断为零长度。
a或ab :将打开的文件追加到最后。
r +或r + b :打开文件进行更新。
w +或w + b :截断为零长度或创建一个新文件进行更新。
a +或a + b :追加。
使用Scilab在Ubuntu中打开参数的示例
在这个例子中,我们将创建一个文本文件并在其上写一行。
类型:
[fd, err] = mopen('/home/your name/test.txt', 'wt' );
mputl('Line text for test purposes', fd);
请注意,如果我们已经完成使用我们创建的文件,我们必须使用mclose命令关闭它。 在本教程的后面我们尝试使用mclose命令语法。
mclose (fd);
然后我们可以在目录中搜索文件:
打开文件:
如果我们要从外部源检索数据,就像数据采集界面一样,这很有用。 我们可以从txt文件加载数据,然后使用它来进行处理。
关闭文件 mclose命令。
必须使用Mclose关闭mopen打开的文件。 如果fd被忽略,则mclose关闭最后一个opend文件。 mclose('all')关闭文件打开的所有文件('open',..)或mopen。 使用mclose时要小心,因为当它在Scilab脚本文件中使用时,它也关闭脚本,Scilab将不执行在mclose('all')之后编写的命令。
阅读和使用文本文件内容。
有时我们需要阅读和使用txt文件的内容,无论是为了数据采集还是文字处理。 为了阅读目的,我们将使用命令mgetl 。
命令mgetl
命令mgetl从txt文件读取一行或多行。
句法
txt=mgetl(file_desc [,m])
参数
file_desc :提供由mopen返回的文件名或逻辑单元的字符串。
m :整数标量。 要读取的行数。 默认值为-1。
txt :字符串列向量。
使用mgetl的例子
在创建文件之前,我们可以键入:
>fd=mopen(/home/david/test.txt', 'r')
>txt=mgetl(fd,1);
>txt
>mclose(fd);
注意:我们使用参数'r',因为我们只需要读取该文件。 无法同时打开文件进行阅读和写入。 我们在mgetl中设置参数1仅读取第一行,不要忘记用mclose关闭文件。 第一行的内容存储在'txt'字符串类型变量中。
有很多高级命令将在进一步的教程中被处理。
参考文献
- Scilab帮助在线,“ https://help.scilab.org/ ”。 检索于06/30/2015。