如何使用Scilab在Ubuntu 15.04上处理文件

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'字符串类型变量中。



有很多高级命令将在进一步的教程中被处理。

参考文献

  1. Scilab帮助在线,“ https://help.scilab.org/ ”。 检索于06/30/2015。
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏