terça-feira, 28 de julho de 2009

Tutorial Scilab - 8 [Usando arquivos]

[English version here.]

Quanto tempo hein? Mas finalmente estou retomando os meus compromissos (dentre eles, o MultiSign).

Pois bem, vamos ver algo sobre manipulação de arquivos com o Scilab agora.

No Scilab, existem diversas funções para manipular arquivos tanto arquivos ASCII quanto binários.

Os aquivos são importantes para melhor gerenciar dados de entrada e resultados obtidos (óbvio não acham?).

Como a maioria deve saber o que é um arquivo, vamos dar continuidade ao post.

Uma boa forma de conhecer as formas de manipulação de arquivos no Scilab é com o help, olhe como acessar o help na figura abaixo:


Na tela de ajuda, digite: file manage e selecione a primeira opção file(.).

Esta função é semelhante à função fopen(.) da linguagem C.

No help, é possível ver várias informações sobre a função file(.).

Algumas das outras funções funções de manipulação de arquivos no Scilab são:

  • save;
  • load;
  • mopen;
  • mclose;
  • writeb;
  • readb.
No momento, vamos nos limitar as funções:

  • read;
  • write.

A função write(.) cria arquivos ASCII e a função read(.) carrega os arquivos em variáveis.

As variáveis envolvidas nestas funções geralmente são matrizes e/ou vetores. Vamos aos exemplos agora:


-->x = rand(5,5)
x =

0.2113249 0.6283918 0.5608486 0.2320748 0.3076091
0.7560439 0.8497452 0.6623569 0.2312237 0.9329616
0.0002211 0.6857310 0.7263507 0.2164633 0.2146008
0.3303271 0.8782165 0.1985144 0.8833888 0.312642
0.6653811 0.0683740 0.5442573 0.6525135 0.3616361

-->write("test_data.dat", x);

-->y1 = read("test_data.dat", 1, 2) // 1 linnha e 2 colunas
y1 =

0.2113249 0.6283918

-->y2 = read("test_data.dat", 2, 2) // 2 linhas and 2 colunas
y2 =

0.2113249 0.6283918
0.7560439 0.8497452

-->y3 = read("test_data.dat", -1, 1) // -1 indica que se deve ler todas as linhas
y3 =

0.2113249
0.7560439
0.0002211
0.3303271
0.6653811

-->>y4 = read("test_data.dat", -1, 5) // lê o arquivo inteiro
y4 =

0.2113249 0.6283918 0.5608486 0.2320748 0.3076091
0.7560439 0.8497452 0.6623569 0.2312237 0.9329616
0.0002211 0.6857310 0.7263507 0.2164633 0.2146008
0.3303271 0.8782165 0.1985144 0.8833888 0.312642
0.6653811 0.0683740 0.5442573 0.6525135 0.3616361


O arquivo test_data.dat é apresentado na figura a seguir (clique na figura para vê-la em tamanho real).

sexta-feira, 3 de julho de 2009

Nota aos leitores

Acredito que os leitores do MultiSign devem ter percebido que as postagens estão "meio atrasadas".

Eu estou com algumas atividades no momento que estão tomando muito tempo e eu também tenho outros blogs (Using Scilab, Engenheiro Católico e Catholic Engineer) os quais têm me dado muita satisfação, pois os leitores estão sempre interagindo com comentários e e-mails.

Espero estar renormalizando o MultiSign na próxima semana.

Abraços a todos e que Deus os abençoe.