Você está na página 1de 30
Introdução ao Scilab
Introdução ao Scilab

Profª Gilka Rocha Barbosa

1

Introducao ao Scilab

ao Scilab Profª Gilka Rocha Barbosa 1 Introducao ao Scilab Apresentar comandos básicos necessários à introdução
ao Scilab Profª Gilka Rocha Barbosa 1 Introducao ao Scilab Apresentar comandos básicos necessários à introdução
ao Scilab Profª Gilka Rocha Barbosa 1 Introducao ao Scilab Apresentar comandos básicos necessários à introdução
ao Scilab Profª Gilka Rocha Barbosa 1 Introducao ao Scilab Apresentar comandos básicos necessários à introdução

Apresentar comandos básicos necessários àao Scilab Profª Gilka Rocha Barbosa 1 Introducao ao Scilab introdução à programação e desenvolvimento de

introdução à programação e desenvolvimento de programas simples.

Ambienteà programação e desenvolvimento de programas simples. Elementos básicos Números, Vetores e Matrizes Variáveis

Elementos básicose desenvolvimento de programas simples. Ambiente Números, Vetores e Matrizes Variáveis Operadores Funções

de programas simples. Ambiente Elementos básicos Números, Vetores e Matrizes Variáveis Operadores Funções

Números, Vetores e Matrizes

VariáveisAmbiente Elementos básicos Números, Vetores e Matrizes Operadores Funções elementares Carga e gravação

OperadoresElementos básicos Números, Vetores e Matrizes Variáveis Funções elementares Carga e gravação Introdução ao

Funções elementaresbásicos Números, Vetores e Matrizes Variáveis Operadores Carga e gravação Introdução ao Scilab 2 2 Linguagens

Carga e gravaçãoe Matrizes Variáveis Operadores Funções elementares Introdução ao Scilab 2 2 Linguagens de Programação (LP)

Introdução ao Scilab

22

Linguagens de Programação (LP)

Introdução ao Scilab 2 2 Linguagens de Programação (LP) As linguagens de programação permitem ao usuário
Introdução ao Scilab 2 2 Linguagens de Programação (LP) As linguagens de programação permitem ao usuário
Introdução ao Scilab 2 2 Linguagens de Programação (LP) As linguagens de programação permitem ao usuário
Introdução ao Scilab 2 2 Linguagens de Programação (LP) As linguagens de programação permitem ao usuário

As linguagens de programação permitem ao usuário especificar um programa de uma forma semelhante ao algoritmo.Introdução ao Scilab 2 2 Linguagens de Programação (LP) Um compilador/interpretador da linguagem deverá fazer a

Um compilador/interpretador da linguagemum programa de uma forma semelhante ao algoritmo. deverá fazer a tradução das instruções de alto

deverá fazer a tradução das instruções de alto

nível para as de nível máquina (por exemplo,

manter os endereços de memória onde estão

guardadas as variáveis).

C = A + B

de memória onde estão guardadas as variáveis). C = A + B LDA 11A810A0 LDB 22345A91

LDA 11A810A0

LDB 22345A91

ADD A,B

STA 1234FE88

Exemplo 1: Asembly

LDB 22345A91 ADD A,B STA 1234FE88 Exemplo 1: Asembly Trecho de código em C a=5; b=10;
LDB 22345A91 ADD A,B STA 1234FE88 Exemplo 1: Asembly Trecho de código em C a=5; b=10;
LDB 22345A91 ADD A,B STA 1234FE88 Exemplo 1: Asembly Trecho de código em C a=5; b=10;
LDB 22345A91 ADD A,B STA 1234FE88 Exemplo 1: Asembly Trecho de código em C a=5; b=10;

Trecho de código em C

a=5;

b=10;

c=a+b;

Código em Assembly (MIPS)

ADDi $t0,$zero,5

//Adiciona-se ao registrador t0 o valor 5

ADDi $t1,$zero,10 //Adiciona-se ao registrador t1 o valor 10

ADD $t2,$t0,$t1

//Soma-se os valores contidos nos

registradores t0 (5) e t1 (10) e atribui o

resultado ao registrador t2

Exemplo 2: Asembly

Exemplo 2: Asembly Código em C A=5; B=10; media=(a+b)/2; Código Assembly (MIPS) ADDi $t0,$zero,5 //Adiciona-se ao
Exemplo 2: Asembly Código em C A=5; B=10; media=(a+b)/2; Código Assembly (MIPS) ADDi $t0,$zero,5 //Adiciona-se ao
Exemplo 2: Asembly Código em C A=5; B=10; media=(a+b)/2; Código Assembly (MIPS) ADDi $t0,$zero,5 //Adiciona-se ao
Exemplo 2: Asembly Código em C A=5; B=10; media=(a+b)/2; Código Assembly (MIPS) ADDi $t0,$zero,5 //Adiciona-se ao

Código em C

A=5;

B=10;

media=(a+b)/2;

Código Assembly (MIPS) ADDi $t0,$zero,5 //Adiciona-se ao registrador t0 o valor 5

ADDi $t1,$zero,10 //Adiciona-se ao registrador t1 o valor 10 ADD $t2,$t0,$t1 //Somam-se os valores contidos nos registradores t0 (5) e t1 (10) e atribui-se o resultado ao registrador t2 ADDi $t3,$zero,2 //Adiciona-se ao registrador t2 o valor 2 (divisor)

DIV $t2,$t3

//Divide-se o valor contido no registrador t2(50) pelo valor contido em t3 (2)

Tradução Código Fonte Código Objeto

em t3 (2) Tradução Código Fonte → Código Objeto   5 6 Linguagens de Programação (LP)
em t3 (2) Tradução Código Fonte → Código Objeto   5 6 Linguagens de Programação (LP)
em t3 (2) Tradução Código Fonte → Código Objeto   5 6 Linguagens de Programação (LP)
em t3 (2) Tradução Código Fonte → Código Objeto   5 6 Linguagens de Programação (LP)
em t3 (2) Tradução Código Fonte → Código Objeto   5 6 Linguagens de Programação (LP)
em t3 (2) Tradução Código Fonte → Código Objeto   5 6 Linguagens de Programação (LP)
em t3 (2) Tradução Código Fonte → Código Objeto   5 6 Linguagens de Programação (LP)
em t3 (2) Tradução Código Fonte → Código Objeto   5 6 Linguagens de Programação (LP)
 

5

6

Linguagens de Programação (LP)

 

Linguagens de Programação (LP)

 

Existem vários tipos de LP baseadas em diferentes paradigmas (estilos) de programação.

Java

Delphi / Object Pascal

Linguagens imperativas:

Linguagens imperativas:

 

C

Ruby

Fortran, Pascal, C, MATLAB, SCILAB Controle explícito da execução Linguagens Orientadas a Objetos:

Fortran, Pascal, C, MATLAB, SCILAB Controle explícito da execução Linguagens Orientadas a Objetos:
Fortran, Pascal, C, MATLAB, SCILAB Controle explícito da execução Linguagens Orientadas a Objetos:
 

C

C++

Lisp

Transact-SQL

Objective-C Pascal

Objective-C

Pascal

Smalltalk, C ++ , Java Controle implícito na manipulação dos dados

Smalltalk, C + + , Java Controle implícito na manipulação dos dados Linguagens Funcionais:

Linguagens Funcionais:

PHP

Visual Basic .NET

LISP, Scheme Visual Basic PL/SQL

LISP, Scheme

Visual Basic

PL/SQL

Baseadas na especificação de funções

 

Python

Logo

Linguagens Lógicas: Prolog

Linguagens Lógicas:

PrologLinguagens Lógicas:

 

Perl

Ada

Implementando a Lógica de Predicados  JavaScript R

 

JavaScript

R

 

Introdução ao Scilab

7 7

Introdução ao Scilab

8 8

Scilab

Scilab Software livre para cálculo numérico e simu- lação de sistemas físicos. Usado nas áreas: Física
Scilab Software livre para cálculo numérico e simu- lação de sistemas físicos. Usado nas áreas: Física
Scilab Software livre para cálculo numérico e simu- lação de sistemas físicos. Usado nas áreas: Física
Scilab Software livre para cálculo numérico e simu- lação de sistemas físicos. Usado nas áreas: Física

Software livre para cálculo numérico e simu- lação de sistemas físicos. Usado nas áreas:

Física

Sistemas complexos

Processamento de imagens

Controle e processamento de sinais Automação industrial

Controle de processos

Computação gráfica Matemática Modelagem biológica

Scilab

gráfica Matemática Modelagem biológica Scilab Criado em 1989 por um grupo de pesquisadores da INRIA e
gráfica Matemática Modelagem biológica Scilab Criado em 1989 por um grupo de pesquisadores da INRIA e
gráfica Matemática Modelagem biológica Scilab Criado em 1989 por um grupo de pesquisadores da INRIA e
gráfica Matemática Modelagem biológica Scilab Criado em 1989 por um grupo de pesquisadores da INRIA e

Criado em 1989 por um grupo de pesquisadores da INRIA

e da ENPC.

Disponível como software livre desde 1994 pelo site http://www.scilab.org

Consórcio Scilab desde 2003 mantido por diversas empre- sas.

Objetivos do consórcio:Scilab desde 2003 mantido por diversas empre- sas. organizar cooperação entre os desenvolvedores obter

organizar cooperação entre os desenvolvedores obter recursos para manutenção da equipe garantir suporte aos usuários

Sistemas Operacionais:

Linuxgarantir suporte aos usuários Sistemas Operacionais: Windows Solaris Unix 9 10 Scilab Ambiente Scilab

Windowsgarantir suporte aos usuários Sistemas Operacionais: Linux Solaris Unix 9 10 Scilab Ambiente Scilab Ambiente

Solarissuporte aos usuários Sistemas Operacionais: Linux Windows Unix 9 10 Scilab Ambiente Scilab Ambiente utilizado no

Unixaos usuários Sistemas Operacionais: Linux Windows Solaris 9 10 Scilab Ambiente Scilab Ambiente utilizado no

9 10 Scilab Ambiente Scilab Ambiente utilizado no desenvolvimento de software para resolução de problemas
9
10
Scilab
Ambiente Scilab
Ambiente utilizado no desenvolvimento de
software para resolução de problemas numéricos
Gratuito, software free
A última versão está sempre disponível,
geralmente via Internet
O software pode ser legalmente utilizado,
copiado, distribuído, modificado
Distribuído com código fonte
Sintaxe semelhante ao Matlab
Permite interface com rotinas escritas em outras
Help
linguagens como C
Prompt de comando
Editor
Suporta o desenvolvimento de conjuntos de
funções voltadas para aplicações especificas
(toolboxes).
Introdução ao Scilab
11
11
12

Ambiente Scilab

Ambiente Scilab Mude o diretório Introdução ao Scilab 13 13 Ambiente de programação Um conjunto de
Ambiente Scilab Mude o diretório Introdução ao Scilab 13 13 Ambiente de programação Um conjunto de
Ambiente Scilab Mude o diretório Introdução ao Scilab 13 13 Ambiente de programação Um conjunto de
Ambiente Scilab Mude o diretório Introdução ao Scilab 13 13 Ambiente de programação Um conjunto de
Mude o diretório
Mude
o diretório

Introdução ao Scilab

13

13

Ambiente de programação

Introdução ao Scilab 13 13 Ambiente de programação Um conjunto de comandos é digitado em um
Introdução ao Scilab 13 13 Ambiente de programação Um conjunto de comandos é digitado em um
Introdução ao Scilab 13 13 Ambiente de programação Um conjunto de comandos é digitado em um
Introdução ao Scilab 13 13 Ambiente de programação Um conjunto de comandos é digitado em um

Um conjunto de comandos é digitado em um arquivo

texto e este arquivo é executado no ambiente Scilab

arquivo texto e este arquivo é executado no ambiente Scilab Introdução ao Scilab 14 14 Teste!!!!!!!!

Introdução ao Scilab

14

14

Teste!!!!!!!!

ambiente Scilab Introdução ao Scilab 14 14 Teste!!!!!!!! // Programa para calcular a media de duas
ambiente Scilab Introdução ao Scilab 14 14 Teste!!!!!!!! // Programa para calcular a media de duas
ambiente Scilab Introdução ao Scilab 14 14 Teste!!!!!!!! // Programa para calcular a media de duas
ambiente Scilab Introdução ao Scilab 14 14 Teste!!!!!!!! // Programa para calcular a media de duas

// Programa para calcular a media de duas notas

clear

nota1 = input ('Digite a primeira nota: ');

nota2 = input ('Digite a segunda nota: ');

media = (nota1 + nota2)/ 2;

if media >= 7 resultado = ' aprovado.';

else

2; if media >= 7 resultado = ' aprovado.'; else Salve com o nome Media.sce resultado

Salve com o nome

Media.sce

resultado = ' reprovado. ';

end

printf ( "\n A média entre %1.2f e %1.2f é %1.2f e o

aluno está %s \n\n", nota1, nota2, media, resultado)

Introdução ao Scilab

15

15

Teste!!!!!!!!

, resultado ) Introdução ao Scilab 15 15 Teste!!!!!!!! // Programa para calcular a media de
, resultado ) Introdução ao Scilab 15 15 Teste!!!!!!!! // Programa para calcular a media de
, resultado ) Introdução ao Scilab 15 15 Teste!!!!!!!! // Programa para calcular a media de
, resultado ) Introdução ao Scilab 15 15 Teste!!!!!!!! // Programa para calcular a media de

// Programa para calcular a media de duas notas

clear

clc

nota1 = input ('Digite a primeira nota: ');

nota2 = input ('Digite a segunda nota: ');

media = (nota1 * 2 + nota2 * 3)/ 5; if media >= 5

media = (nota1 * 2 + nota2 * 3)/ 5; if media >= 5 resultado =

resultado = ' aprovado.';

else

resultado = ' reprovado. ';

Salve com o nome

Media.sce

end

printf ( "\n A média entre %1.2f e %1.2f é %1.2f e o

aluno está %s \n\n", nota1, nota2, media, resultado)

Introdução ao Scilab

16

16

Teste!!!!!!!!!!

Teste!!!!!!!!!! execute Media Introdução ao Scilab 17 17 Janela de gráficos Introdução ao Scilab 18 18
Teste!!!!!!!!!! execute Media Introdução ao Scilab 17 17 Janela de gráficos Introdução ao Scilab 18 18
Teste!!!!!!!!!! execute Media Introdução ao Scilab 17 17 Janela de gráficos Introdução ao Scilab 18 18
Teste!!!!!!!!!! execute Media Introdução ao Scilab 17 17 Janela de gráficos Introdução ao Scilab 18 18
execute Media
execute
Media

Introdução ao Scilab

17

17

Janela de gráficos

Media Introdução ao Scilab 17 17 Janela de gráficos Introdução ao Scilab 18 18 Teste!!!!!!!! -->a=
Media Introdução ao Scilab 17 17 Janela de gráficos Introdução ao Scilab 18 18 Teste!!!!!!!! -->a=
Media Introdução ao Scilab 17 17 Janela de gráficos Introdução ao Scilab 18 18 Teste!!!!!!!! -->a=
Media Introdução ao Scilab 17 17 Janela de gráficos Introdução ao Scilab 18 18 Teste!!!!!!!! -->a=
Media Introdução ao Scilab 17 17 Janela de gráficos Introdução ao Scilab 18 18 Teste!!!!!!!! -->a=

Introdução ao Scilab

18

18

Teste!!!!!!!!

-->a= 1 : 0.1 : 10; -->plot (a, sin(a)) Veja a barra Scilab Graphic
-->a= 1 : 0.1 : 10;
-->plot (a, sin(a))
Veja a barra
Scilab Graphic

Introdução ao Scilab

19

19

Utilização básica

Graphic Introdução ao Scilab 19 19 Utilização básica Variáveis especiais – pré-definidas. São protegidas e
Graphic Introdução ao Scilab 19 19 Utilização básica Variáveis especiais – pré-definidas. São protegidas e
Graphic Introdução ao Scilab 19 19 Utilização básica Variáveis especiais – pré-definidas. São protegidas e
Graphic Introdução ao Scilab 19 19 Utilização básica Variáveis especiais – pré-definidas. São protegidas e

Variáveis especiais pré-definidas.

São protegidas e não podem ser apagadas. who: lista as variáveis whos (): lista e dimensiona as variáveis

clear: remove todas as variáveis do espaço de trabalho

help: informa sobre os comandos e funções

Ex.: help, help inv, help help

pwd: Mostra o diretório atual.

sci: Mostra o diretório onde o Scilab foi instalado. ls: Lista os arquivos do diretório. chdir(“dir”): Muda de diretório. mkdir(“dir”): Cria um diretório. rmdir(“dir”, ‘s’): Remove um diretório.

quit ou exit sai do Scilab

Introdução ao Scilab

20

20

Utilização básica

Utilização básica Outras variáveis podem ser criadas -- > a=1 -- > A = 2 --
Utilização básica Outras variáveis podem ser criadas -- > a=1 -- > A = 2 --
Utilização básica Outras variáveis podem ser criadas -- > a=1 -- > A = 2 --
Utilização básica Outras variáveis podem ser criadas -- > a=1 -- > A = 2 --

Outras variáveis podem ser criadas

-- > a=1 -- > A = 2 -- > a

Algumas constantes especiais são precedidas pelo caractere %:

%e: constante neperianaconstantes especiais são precedidas pelo caractere %: %i: raiz quadrada de -1, número imaginário %pi: constante

%i: raiz quadrada de -1, número imagináriosão precedidas pelo caractere %: %e: constante neperiana %pi: constante pi %eps: máximo valor tal que

%pi: constante pineperiana %i: raiz quadrada de -1, número imaginário %eps: máximo valor tal que 1+%eps=1 %inf: infinito

%eps: máximo valor tal que 1+%eps=1raiz quadrada de -1, número imaginário %pi: constante pi %inf: infinito %nan: não é um número

%inf: infinito%pi: constante pi %eps: máximo valor tal que 1+%eps=1 %nan: não é um número %t: verdadeiro

%nan: não é um númeropi %eps: máximo valor tal que 1+%eps=1 %inf: infinito %t: verdadeiro %f: falso Introdução ao Scilab

%t: verdadeirotal que 1+%eps=1 %inf: infinito %nan: não é um número %f: falso Introdução ao Scilab 21

%f: falso%inf: infinito %nan: não é um número %t: verdadeiro Introdução ao Scilab 21 21 Utilização básica

Introdução ao Scilab

21

21

Utilização básica

%f: falso Introdução ao Scilab 21 21 Utilização básica continua uma expressão em outra linha -->s
%f: falso Introdução ao Scilab 21 21 Utilização básica continua uma expressão em outra linha -->s
%f: falso Introdução ao Scilab 21 21 Utilização básica continua uma expressão em outra linha -->s
%f: falso Introdução ao Scilab 21 21 Utilização básica continua uma expressão em outra linha -->s

continua uma expressão em outra

linha

-->s = 1-1/2+1/3-1/4+1/5-1/6+1/7

-->-1/8+1/9-1/10;

s

=

0.6456349

Introdução ao Scilab

22

22

Utilização básica

0.6456349 Introdução ao Scilab 22 22 Utilização básica ; ao final de uma expressão o cálculo
0.6456349 Introdução ao Scilab 22 22 Utilização básica ; ao final de uma expressão o cálculo
0.6456349 Introdução ao Scilab 22 22 Utilização básica ; ao final de uma expressão o cálculo
0.6456349 Introdução ao Scilab 22 22 Utilização básica ; ao final de uma expressão o cálculo

; ao final de uma expressão o cálculo é

feito mas o resultado não é apresentado

// Atribui o valor 1 a A

-- > b=2; // Atribui o valor 2 a b

-- > A=1

-- > A + b; // soma de A e b

Introdução ao Scilab

23

23

Utilização básica

de A e b Introdução ao Scilab 23 23 Utilização básica Adição Subtração - Multiplicação *
de A e b Introdução ao Scilab 23 23 Utilização básica Adição Subtração - Multiplicação *
de A e b Introdução ao Scilab 23 23 Utilização básica Adição Subtração - Multiplicação *
de A e b Introdução ao Scilab 23 23 Utilização básica Adição Subtração - Multiplicação *

Adição

Subtração -

Multiplicação *

Divisão à direita / Divisão à esquerda \

Potenciação ^

+

É capaz de executar matemática elementar como uma

calculadora:

-- >

4 * 1 + 6 * 0.5 + 5 * 2

Podem-se armazenar em variáveis:

-- > macas = 2

Introdução ao Scilab

24

24

Variáveis

Variáveis Nomes legais de variáveis consistem numa combinação qualquer de letras, dígitos e sublinha, começando com
Variáveis Nomes legais de variáveis consistem numa combinação qualquer de letras, dígitos e sublinha, começando com
Variáveis Nomes legais de variáveis consistem numa combinação qualquer de letras, dígitos e sublinha, começando com
Variáveis Nomes legais de variáveis consistem numa combinação qualquer de letras, dígitos e sublinha, começando com

Nomes legais de variáveis consistem numaVariáveis combinação qualquer de letras, dígitos e sublinha, começando com uma letra. Ali22B, Cost, X3_f22 and

combinação qualquer de letras, dígitos e

sublinha, começando com uma letra.

Ali22B, Cost, X3_f22 and s2Sc6de letras, dígitos e sublinha, começando com uma letra. É case-sensitive (diferencia letras maiúscula de

É case-sensitive (diferencia letras maiúscula de case-sensitive (diferencia letras maiúscula de

minúscula)

Mat1 é diferente de mat1case-sensitive (diferencia letras maiúscula de minúscula) Variáveis ilegais Ali-22, 5x, 3Cost, &r5, %67 and

Variáveis ilegaisletras maiúscula de minúscula) Mat1 é diferente de mat1 Ali-22, 5x, 3Cost, &r5, %67 and @xyt56

Ali-22, 5x, 3Cost, &r5, %67 and @xyt56de minúscula) Mat1 é diferente de mat1 Variáveis ilegais Caracteres x= ‘a’ ou x= “a” Strings

Caracteresilegais Ali-22, 5x, 3Cost, &r5, %67 and @xyt56 x= ‘a’ ou x= “a” Strings mg1='Ali'; ou

Ali-22, 5x, 3Cost, &r5, %67 and @xyt56 Caracteres x= ‘a’ ou x= “a” Strings mg1='Ali'; ou

x= ‘a’

ou

x= “a”

Strings&r5, %67 and @xyt56 Caracteres x= ‘a’ ou x= “a” mg1='Ali'; ou mg2=‘SCILAB DEMOS' Introdução

mg1='Ali'; ou mg2=‘SCILAB DEMOS'%67 and @xyt56 Caracteres x= ‘a’ ou x= “a” Strings Introdução ao Scilab 25 25 Elementos

Introdução ao Scilab

25

25

Elementos básicos

DEMOS' Introdução ao Scilab 25 25 Elementos básicos Números, Vetores e Matrizes Uma matriz pode ser
DEMOS' Introdução ao Scilab 25 25 Elementos básicos Números, Vetores e Matrizes Uma matriz pode ser
DEMOS' Introdução ao Scilab 25 25 Elementos básicos Números, Vetores e Matrizes Uma matriz pode ser
DEMOS' Introdução ao Scilab 25 25 Elementos básicos Números, Vetores e Matrizes Uma matriz pode ser

Números, Vetores e Matrizes

Scilab 25 25 Elementos básicos Números, Vetores e Matrizes Uma matriz pode ser Um escalar (número):

Uma matriz pode ser

Um escalar (número): matriz com dimensão 1 x 1

Um vetor linha: matriz 1 x n

Um vetor coluna: matriz n x1

Uma matriz bidimensional: matriz n x m

Uma matriz multidimensional: matriz com dimensão

n 1 x n 2 x n 3 x n m No ambiente do Scilab
n 1 x n 2 x n 3 x
n m
No ambiente do Scilab digite:
--> 10
Último
ans =
valor
calculado
10
-->
--> p=%pi
p =
Casa
3.1415927
decimal
-->
Introdução ao Scilab
26 26

Números, Vetores e Matrizes

Introdução ao Scilab 26 26 Números, Vetores e Matrizes O Scilab reconhece vários tipos de números:
Introdução ao Scilab 26 26 Números, Vetores e Matrizes O Scilab reconhece vários tipos de números:
Introdução ao Scilab 26 26 Números, Vetores e Matrizes O Scilab reconhece vários tipos de números:
Introdução ao Scilab 26 26 Números, Vetores e Matrizes O Scilab reconhece vários tipos de números:

O Scilab reconhece vários tipos de números:

Real: 4.607, - 199.34, : 4.607, - 199.34,

Complexo: 2 + 3i , i=j=sqrt(-1)), : 2 + 3i , i=j=sqrt(-1)),

Literal: “nome” : “nome”

Lógico: V/F : V/F

Introdução ao Scilab

27

27

Exemplo

Lógico : V/F Introdução ao Scilab 27 27 Exemplo Calcular a equação do segundo grau: ax
Lógico : V/F Introdução ao Scilab 27 27 Exemplo Calcular a equação do segundo grau: ax
Lógico : V/F Introdução ao Scilab 27 27 Exemplo Calcular a equação do segundo grau: ax
Lógico : V/F Introdução ao Scilab 27 27 Exemplo Calcular a equação do segundo grau: ax

Calcular a equação do segundo grau: ax 2 + bx + c. As raízes da equação são dadas por:

2 b b 4 a xx , 1 2 2 a
2
b
b 4 a
xx
,
1
2
2 a

Resolvendo a seguinte equação:

x 2

+ 4 x + 13 = 0

-- > a = 1,

b = 4 , c = 13

-- > x1 = (-b + sqrt (b^2 4 * a * c)) / (2 * a)

-- > x2 = (-b - sqrt (b^2 4 * a * c)) / (2 * a)

O Scilab apresenta como solução:

x1 = -2.00 + 3.000i

x2 = -2.000 3.000i

Introdução ao Scilab

28

28

Números complexos

Números complexos Z = a + %i*b Exercício: Dados os seguintes números complexos, Z1 = 3
Números complexos Z = a + %i*b Exercício: Dados os seguintes números complexos, Z1 = 3
Números complexos Z = a + %i*b Exercício: Dados os seguintes números complexos, Z1 = 3
Números complexos Z = a + %i*b Exercício: Dados os seguintes números complexos, Z1 = 3

Z = a + %i*b

Exercício:

Dados os seguintes números complexos,

Z1 = 3 + 5i;

execute as seguintes operações:

Z2 = 7 + 3i

a)

Z1 + Z2;

b)

Z1 * Z2;

c)

Z1 + sqrt(-20);

d)

Calcule os módulos de Z1 e Z2 e compare com abs(z);

Lembre-se

|

2 2
2
2

z | a b

29

Vetores e matrizes

Lembre-se | 2 2 z | a b 29 Vetores e matrizes • As grandezas vetoriais
Lembre-se | 2 2 z | a b 29 Vetores e matrizes • As grandezas vetoriais
Lembre-se | 2 2 z | a b 29 Vetores e matrizes • As grandezas vetoriais
Lembre-se | 2 2 z | a b 29 Vetores e matrizes • As grandezas vetoriais

As grandezas vetoriais podem ser criadas

colocando-se seus componentes entre

colchetes [ ]

Os componentes de um vetor podem ser

separados por vírgula, espaço ou por

ponto-e-vírgula.

30

Vetores ] vetor linha • ] vetor coluna
Vetores
]
vetor linha
]
vetor coluna

Declaração de vetores:

X = [ x1 x2 x3

X = [x1;x2;x3;

Transposição de vetores: X’

Exercícios:

Verifique a diferença entre: x = [1 2 3], z = [1,2,3] e y = [1;2;3] Dados os vetores:

x = [1,2,3,4,5] e y = [2,4,6,8,10]

Calcule:

a) z = x + y;

b) z = x*y;

c) Formas transpostas de x e y;

d) Dados z1 = x*y’; e z2 = x’*y;

Verifique se z1 = z2.

31

Exemplo de função com vetor

Verifique se z1 = z2. 31 Exemplo de função com vetor 1 --> x=0:0.1:10; --> plot
Verifique se z1 = z2. 31 Exemplo de função com vetor 1 --> x=0:0.1:10; --> plot
Verifique se z1 = z2. 31 Exemplo de função com vetor 1 --> x=0:0.1:10; --> plot
Verifique se z1 = z2. 31 Exemplo de função com vetor 1 --> x=0:0.1:10; --> plot
1 --> x=0:0.1:10; --> plot (x,sin(x)) 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8
1
--> x=0:0.1:10;
--> plot (x,sin(x))
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
1
2
3
4
5
6
7
8
9
10
--> z=cos(x);
--> plot (x,z)
1
0.8
0.6
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
1
2
3
4
5
6
7
8
9
10

Introdução ao Scilab

32

32

Exemplo

Exemplo -->g !--error 4 undefined variable : g -->g = 1:5 g = 1. 2. 3.
Exemplo -->g !--error 4 undefined variable : g -->g = 1:5 g = 1. 2. 3.
Exemplo -->g !--error 4 undefined variable : g -->g = 1:5 g = 1. 2. 3.
Exemplo -->g !--error 4 undefined variable : g -->g = 1:5 g = 1. 2. 3.

-->g

!--error 4

undefined variable : g

-->g = 1:5

g

=

1.

2.

3.

4.

5.

-->g*g

!--error 10

inconsistent multiplication

Algumas funções elementares

10 inconsistent multiplication Algumas funções elementares imag(x): Mostra a parte imaginária de um complexo real(x):
10 inconsistent multiplication Algumas funções elementares imag(x): Mostra a parte imaginária de um complexo real(x):
10 inconsistent multiplication Algumas funções elementares imag(x): Mostra a parte imaginária de um complexo real(x):
10 inconsistent multiplication Algumas funções elementares imag(x): Mostra a parte imaginária de um complexo real(x):

imag(x): Mostra a parte imaginária de um complexo

real(x): Mostra a parte real de um complexo

log(x), log10(x), log2(x): Logaritmos natural, base 10 e base 2

modulo(x,y): Mostra o resto da divisão de x por y

abs(x): Retorna o valor absoluto (se x é real) e o módulo se x é

complexo)

round(x): Arredonda o valor de x para o inteiro mais próximo

floor(x): Arredonda para o menor inteiro

ceil(x): Arredonda para o maior inteiro

sqrt(x): Calcula a raiz quadrada de x

cos(x), sin(x), tan(x), cotg(x): Retorna cosseno, seno, tangente

ou cotangente de x (x deve estar em radianos)

acos(x), asin(x), atan(x): Retorna o ângulo (em radianos)

 

Introdução ao Scilab

33

33

34

Algumas funções elementares

 

Programando com o Scilab

abs(x): Retorna o valor absoluto (se x é real) e o módulo

 

se x é complexo) acos(x), asin(x), atan(x): Retorna o ângulo (em radianos)

ceil(x): Arredonda para o maior inteiro

 

Características do Scilab

Interpretador de comandos e por isso oCaracterísticas do Scilab

 

cos(x), sin(x), tan(x), cotg(x): Retorna cosseno, seno,

tangente ou cotangente de x (x deve estar em radianos)

código gerado não precisa ser compilado.

Facilidade e simplicidade da linguagemcódigo gerado não precisa ser compilado.

exp(x): Exponencial (e) de um valor x.

factorial(x): I Fatorial (e) de um valor x.

floor(x): Arredonda para o menor inteiro

imag(x): Mostra a parte imaginária de um complexo

estruturada.

Não há necessidade de declaração préviaestruturada. das variáveis.

das variáveis.

log(x), log10(x), log2(x): Logaritmos natural, base 10 e base 2

 

modulo(x,y): Mostra o resto da divisão de x por y real(x): Mostra a parte real de um complexo

round(x): Arredonda o valor de x para o inteiro mais

próximo

sqrt(x): Calcula a raiz quadrada de x

 

35

36

scripts

scripts Scripts são arquivos de texto que contém comandos que seriam usados em um prompt do
scripts Scripts são arquivos de texto que contém comandos que seriam usados em um prompt do
scripts Scripts são arquivos de texto que contém comandos que seriam usados em um prompt do
scripts Scripts são arquivos de texto que contém comandos que seriam usados em um prompt do

Scripts são arquivos de texto que contém comandos que seriam usados em um prompt do Scilab.

Por convenção estes arquivos possuem

extensão .sce ou .sci

Os arquivos são criados no editor de texto do Scilab, o Scipad (ou em qualquer outro editor

de texto).

Os arquivos são executados no Scilab com o comando exec,

37

Exercício

são executados no Scilab com o comando exec, 37 Exercício Faça um programa em Scilab que
são executados no Scilab com o comando exec, 37 Exercício Faça um programa em Scilab que
são executados no Scilab com o comando exec, 37 Exercício Faça um programa em Scilab que
são executados no Scilab com o comando exec, 37 Exercício Faça um programa em Scilab que

Faça um programa em Scilab que encontre a média de duas notas de vários alunos.

O script deve ser digitado em um editor de textos e salvo com a extensão .sce, por exemplo media.sce.

Para executar no Scilab, digite: exec (‘media.sce’).

Note que você deve estar no diretório em que o arquivo media.sce se encontra.

38

Exemplo // Programa para calcular a media de duas notas clear cont = 0; fim

Exemplo

// Programa para calcular a media de duas notas

clear

clear

cont = 0;

fim = "s" while fim == "s" | fim == "S" nota1 = input('Digite a primeira nota: '); nota2 = input('Digite a segunda nota: '); media = (nota1 + nota2)/ 2; if media >= 7 resultado = ' aprovado.';

else

resultado = ' reprovado. ';

end

printf ( "\n Média: 1.2f . Aluno: %s \n\n“, media, resultado)

cont = cont + 1;

fim = input('Para continuar, digite s: ', "s");

end

%s \n\ n“, media, resultado) cont = cont + 1; fim = input('Para continuar, digite s:

disp (cont)

Introdução ao Scilab

39

39

Exemplo Media
Exemplo
Media

Introdução ao Scilab

40

40

Exemplo Exec Media
Exemplo
Exec
Media

Introdução ao Scilab

41

41

Operadores Relacionais

Media Introdução ao Scilab 41 41 Operadores Relacionais Operador Resultado == igual a ~= , <>
Media Introdução ao Scilab 41 41 Operadores Relacionais Operador Resultado == igual a ~= , <>
Media Introdução ao Scilab 41 41 Operadores Relacionais Operador Resultado == igual a ~= , <>
Media Introdução ao Scilab 41 41 Operadores Relacionais Operador Resultado == igual a ~= , <>

Operador

Resultado

==

igual a

~= , <>

diferente de

>

maior do que

<

menor do que

>=

maior ou igual a

<=

menor ou igual a

= é usado para atribuição e não para comparação

Introdução ao Scilab

42

42

Operadores Lógicos

Introdução ao Scilab 42 42 Operadores Lógicos Operador Descrição & e | ou ~
Introdução ao Scilab 42 42 Operadores Lógicos Operador Descrição & e | ou ~
Introdução ao Scilab 42 42 Operadores Lógicos Operador Descrição & e | ou ~
Introdução ao Scilab 42 42 Operadores Lógicos Operador Descrição & e | ou ~

Operador

Descrição

&

e

|

ou

~

não

Tabela Verdade dos operadores &, | e ~

A

B

A & B

A | B

~A

~B

F

F

F

F

V

V

F

V

F

V

V

F

V

F

F

V

F

V

V

V

V

V

F

F

Introdução ao Scilab

43

43

Comandos de controle de fluxo - if

ao Scilab 43 43 Comandos de controle de fluxo - if Formatos: if condição comandos; end
ao Scilab 43 43 Comandos de controle de fluxo - if Formatos: if condição comandos; end
ao Scilab 43 43 Comandos de controle de fluxo - if Formatos: if condição comandos; end
ao Scilab 43 43 Comandos de controle de fluxo - if Formatos: if condição comandos; end
ao Scilab 43 43 Comandos de controle de fluxo - if Formatos: if condição comandos; end

Formatos:

if condição

comandos;

end

if condição1

comandos1;

elseif condição2

comandos2;

else

comandos3

end

if condição

comandos1;

else

comandos

end

if condição1

comandos1;

else

if condição2

comandos2;

else

comandos3;

end

end

Introdução ao Scilab

44

44

Exemplo do comando if

Exemplo do comando if Exemplo: x = -1; if x < 0 then y = 2*x;
Exemplo do comando if Exemplo: x = -1; if x < 0 then y = 2*x;
Exemplo do comando if Exemplo: x = -1; if x < 0 then y = 2*x;
Exemplo do comando if Exemplo: x = -1; if x < 0 then y = 2*x;

Exemplo:

x = -1;

if x < 0 then

y = 2*x;

else

y = x;

end

disp(y);

x = 10;

if x < 0 then

y = -x;

elseif x == 1

y = x;

elseif x == 2

y = 2*x;

else

end

disp(y);

y = 5*x;

Comandos de controle de fluxo select

disp(y); y = 5*x; Comandos de controle de fluxo – select Formato: select var case expr-1,
disp(y); y = 5*x; Comandos de controle de fluxo – select Formato: select var case expr-1,
disp(y); y = 5*x; Comandos de controle de fluxo – select Formato: select var case expr-1,
disp(y); y = 5*x; Comandos de controle de fluxo – select Formato: select var case expr-1,

Formato:

select var

case expr-1,

comandos1

case expr-2,

comandos2

end

else

comandos

O valor da variável var é comparado às expressões, se os valores são iguais, a seqüência correspondente é executada.

 

Introdução ao Scilab

45

45

Introdução ao Scilab

46

46

Exemplo do comando select

Comandos de controle de fluxo - for

 

// Exemplo de case

Formato:

A=input('Digite um número') select A

case 1,

 

for var = inicio : incremento : fim

 

comandos;

 

disp('A vale 1')

end

case 2,

L = list (2, [1 2; 3 4], 'elemento');

 

disp('A vale 2')

Exemplo:

else

a = 0

for k=L

disp('A nao é nem 1 nem 2')

 

for i=1:3

disp(k);

 

end

a = a+1 end

end

 

Introdução ao Scilab

47

47

Introdução ao Scilab

48

48

Exemplo do comando for

Exemplo do comando for // Gera e mostra uma matriz n=3;m=2; for i=1:m for j=1:n a(i,j)=i+j
Exemplo do comando for // Gera e mostra uma matriz n=3;m=2; for i=1:m for j=1:n a(i,j)=i+j
Exemplo do comando for // Gera e mostra uma matriz n=3;m=2; for i=1:m for j=1:n a(i,j)=i+j
Exemplo do comando for // Gera e mostra uma matriz n=3;m=2; for i=1:m for j=1:n a(i,j)=i+j

// Gera e mostra uma matriz

n=3;m=2;

for i=1:m

for j=1:n

a(i,j)=i+j

end

end

s=sprintf( '\n Matriz A:a(i,j)=i+j\n‘ ); disp(s);

disp(a);

Introdução ao Scilab

49

49

Comandos de controle de fluxo - while

ao Scilab 49 49 Comandos de controle de fluxo - while Formato: while condição e n
ao Scilab 49 49 Comandos de controle de fluxo - while Formato: while condição e n
ao Scilab 49 49 Comandos de controle de fluxo - while Formato: while condição e n
ao Scilab 49 49 Comandos de controle de fluxo - while Formato: while condição e n

Formato:

while condição

end

comandos;

// Exemplo while 1

n=1;

x=input (“”);

while n<=x

n=n+1;

end

disp(“ final”);

disp (n)

Introdução ao Scilab

50

50

Exemplo do comando while

(n) Introdução ao Scilab 50 50 Exemplo do comando while Funções de entrada - input //
(n) Introdução ao Scilab 50 50 Exemplo do comando while Funções de entrada - input //
(n) Introdução ao Scilab 50 50 Exemplo do comando while Funções de entrada - input //
(n) Introdução ao Scilab 50 50 Exemplo do comando while Funções de entrada - input //

Funções de entrada - input

50 Exemplo do comando while Funções de entrada - input // Exemplo while 2 input( )
50 Exemplo do comando while Funções de entrada - input // Exemplo while 2 input( )
50 Exemplo do comando while Funções de entrada - input // Exemplo while 2 input( )
50 Exemplo do comando while Funções de entrada - input // Exemplo while 2 input( )

// Exemplo while 2

input( )

n=1;

possibilita a interação entre o usuário e o programa

while n<=23

n=n+1;

Exemplo:

end printf(‘\n final: %d’,n);

Receber um dado numérico nu = input( ‘Digite um numero qualquer: ’ )

// Exemplo while 3 x =1, v = []

while x <= 16

v = [v x]; x = x*2;

end

Introdução ao Scilab

51

51

16 v = [v x]; x = x*2; end Introdução ao Scilab 51 51 variável comando

variável

comando de
comando de

atribuição

solicita ao usuário que

forneça algum dado de

entrada

Receber um dado texto

que forneça algum dado de entrada Receber um dado texto string tx = input( ‘Digite a

string

tx = input( ‘Digite a resposta: ’,’s’ )

Introdução ao Scilab

52

52

Funções de Saída - disp

Funções de Saída - disp disp(variável) ou disp(“texto”) exibe na tela o valor da variável sem
Funções de Saída - disp disp(variável) ou disp(“texto”) exibe na tela o valor da variável sem
Funções de Saída - disp disp(variável) ou disp(“texto”) exibe na tela o valor da variável sem
Funções de Saída - disp disp(variável) ou disp(“texto”) exibe na tela o valor da variável sem

disp(variável) ou disp(“texto”)

exibe na tela o valor da variável sem mostrar seu nome ou exibe o texto ou string colocado entre aspas.

Exemplo:

disp(‘Media Geral ’) // exibe a frase Media Geral

i = 4 disp(i) // exibe o valor armazenado na variável i (4)

nome = "maria";

disp ("Seu nome é " + nome) // concatena os strings

v=10

disp ("A velocidade final é " + string(v))

// converte numero em string e concatena

Funções de Saída - printf

numero em string e concatena Funções de Saída - printf printf (formato, dado) exibe valores e
numero em string e concatena Funções de Saída - printf printf (formato, dado) exibe valores e
numero em string e concatena Funções de Saída - printf printf (formato, dado) exibe valores e
numero em string e concatena Funções de Saída - printf printf (formato, dado) exibe valores e

printf (formato, dado)

exibe valores e texto e permite a formatação

Caractere de

Resultado

formatação

%d ou %i

Exibe o valor como inteiro

%f ou %x.yf

Exibe o valor em formato de ponto flutuante

%s

Exibe o valor de um literal

\n

Muda de linha

\t

Insere espaço

Exemplo:

printf ( "\n O valor de pi = %.f \n\n",%pi )

printf ( “\n O valor de pi = %6.2f

\n ",%pi )

 

Introdução ao Scilab

53

53

Introdução ao Scilab

54

54

 

Exemplo

Exemplo

// Programa para calcular a media de vários alunos

 

// Programa para calcular a media de duas notas

 
 

clear

clear cont = 0;

fim = "s"

 

totalAlunos = input('Digite o numero de alunos: ');

 

for cont = 1:totalAlunos

 

nota1= -1; nota2 = -1;

while fim == "s" | fim == "S"

while nota1 < 0 | nota1 > 10 nota1 = input('Digite a primeira nota: '); if nota1 < 0 | nota1 > 10 disp ('Nota inválida')

end

 

nota1 = input('Digite a primeira nota: ');

nota2 = input('Digite a segunda nota: ');

media = (nota1 + nota2)/ 2;

 

if media >= 7

resultado = ' aprovado.'; else resultado = ' reprovado. '; end printf ("\n O aluno %d teve média %.2f e sua situação é %s", cont, media, resultado)

 

end

while nota2 < 0 | nota1 > 10

nota2 = input('Digite a segunda nota: ');

if nota2 < 0 | nota1 > 10

disp ('Nota inválida')

// exibe a palavra Aluno, o número, a média e o resultado

end

end

end

 

Introdução ao Scilab

55

55

Introdução ao Scilab

56

56

Exemplo

Exemplo // Programa para calcular a media de duas notas - continua media = (nota1 +
Exemplo // Programa para calcular a media de duas notas - continua media = (nota1 +
Exemplo // Programa para calcular a media de duas notas - continua media = (nota1 +
Exemplo // Programa para calcular a media de duas notas - continua media = (nota1 +

// Programa para calcular a media de duas notas - continua

media = (nota1 + nota2)/ 2;

if media >= 7

resultado = ' aprovado.';

else

resultado = ' reprovado. '; end

printf "\n Média %.2f \t %s”, media, resultado)

cont = cont + 1;

fim = input('Para continuar, digite s: ', "s");

End

printf "\n Total de aluno(s) processados %.d \n”, cont)

Funções

Total de aluno(s) processados %.d \ n”, con t) Funções Variáveis definidas dentro do escopo da
Total de aluno(s) processados %.d \ n”, con t) Funções Variáveis definidas dentro do escopo da
Total de aluno(s) processados %.d \ n”, con t) Funções Variáveis definidas dentro do escopo da
Total de aluno(s) processados %.d \ n”, con t) Funções Variáveis definidas dentro do escopo da

Variáveis definidas dentro do escopo da

função (variáveis locais) não permanecem no

ambiente após a execução da função.

Uma função pode ser definida de três formas:

no ambiente Scilab;da função. Uma função pode ser definida de três formas: usando o comando deff ou digitando

usando o comando deff oupode ser definida de três formas: no ambiente Scilab; digitando o texto no Scipad e clicando

digitando o texto no Scipad e clicando no menutrês formas: no ambiente Scilab; usando o comando deff ou Execute, opção load into Scilab  

Execute, opção load into Scilab

 

Introdução ao Scilab

57

57

58

Funções

 

Funções - Exemplo

 

Definição

 

Definir uma função que converte um número complexo da

forma cartesiana para a polar.

 

function [y1,

,yn]=

nome_da_funcao(x1,

,xm)

 
 

instrucao_1

instrucao_2

   

1

(Salve em: cart_to_polar.sci)

 

function [mod,ang] = cart_to_polar(re,im) mod = sqrt(re^2 + im^2);

 

ang = atan(im/re) * 180/%pi;

 

instrucao_p

 

endfunction

 

endfunction

 
 

2.

(Salve em program_chama_funcao.sce)

 

onde:

exec(' cart_to_polar.sci');

 

x1,

,xm

são os argumentos de entrada

 

z = 2 + 2*%i;

 

são argumentos de saída

[mod,ang] = cart_to_polar(real(z),imag(z));

y1,

instrucão_1,

,yn

,instrucao_p

ecutadas pela função.

são as instruções ex

disp(mod);

disp(ang);

 
   

59

60

Funções - Exercícios

Funções - Exercícios 1. Crie uma função que calcule as raízes de uma equação do segundo
Funções - Exercícios 1. Crie uma função que calcule as raízes de uma equação do segundo
Funções - Exercícios 1. Crie uma função que calcule as raízes de uma equação do segundo
Funções - Exercícios 1. Crie uma função que calcule as raízes de uma equação do segundo

1. Crie uma função que calcule as raízes de uma equação do segundo grau usando a

fórmula de Báskara. Desenvolva um

programa para a função e um para a

execução da função.

2. Crie uma função que calcule o fatorial de

um número usando o comando de iteração

for. Faça o mesmo usando o comando

while.

Vetores

for. Faça o mesmo usando o comando while. Vetores Declaração de vetores: X = [ x1
for. Faça o mesmo usando o comando while. Vetores Declaração de vetores: X = [ x1
for. Faça o mesmo usando o comando while. Vetores Declaração de vetores: X = [ x1
for. Faça o mesmo usando o comando while. Vetores Declaração de vetores: X = [ x1

Declaração de vetores:

X = [ x1 x2 x3

]

X = [x1;x2;x3;

]

•
de vetores: X = [ x1 x2 x3 ] X = [x1;x2;x3; ] • vetor linha

vetor linha

vetor coluna

x3 ] X = [x1;x2;x3; ] • vetor linha vetor coluna Transposição de vetores : X’

Transposição de vetores: X’

Exercícios:

a) Verifique a diferença entre: a = [1 2 3] e b = [1;2;3]

b) Dados os vetores:

w = [2;4;6;8;10]

x = [1,2,3,4,5] , y = [2 4 6 8 10],

Calcule:

a) z = x + y

b) z1 = x*y

c) z2 = x*w

d) z3 = x.* y

e) z4 = x*y’

f) z5 = x’*y

g) verifique se z4 = z5.

61 62 Exemplo Vetores -->g V = Valor_inicial : incremento : Valor_final !--error 4 •
61
62
Exemplo
Vetores
-->g
V = Valor_inicial : incremento : Valor_final
!--error 4
undefined variable : g
Exemplos:
A1 = 1:10
-->g = 1:5
B1 = 1:2:10
g
=
C1 = 1:0.2:10
1.
2.
3.
4.
5.
D1 = 10:-1:1
E1 = 1:%pi:20
-->g*g
F1 = 0:log(%e):20
!--error 10
G1 = 20:-2*%pi:-10
inconsistent multiplication
Introdução ao Scilab
63
64

Vetores

Vetores V2 = linspace ( Valor_inicial, Valor_final, Exemplos : quantidade de elementos ): • A2 =
Vetores V2 = linspace ( Valor_inicial, Valor_final, Exemplos : quantidade de elementos ): • A2 =
Vetores V2 = linspace ( Valor_inicial, Valor_final, Exemplos : quantidade de elementos ): • A2 =
Vetores V2 = linspace ( Valor_inicial, Valor_final, Exemplos : quantidade de elementos ): • A2 =

V2 = linspace (Valor_inicial, Valor_final,

Exemplos:

quantidade de elementos):

A2 = linspace (1 ,10,15) B2 = linspace ( 1,2,10) C2 = linspace ( 1,0.2,10) D2 = linspace ( 10,-1,1) E2 = linspace ( 1,%pi,20) F2 = linspace ( 0,log(%e),20) G2 = linspace ( 20,-2*%pi,10)

Operações com vetores

G2 = linspace ( 20,-2*%pi,10) Operações com vetores Dimensão: length(x) Número de linhas e colunas:
G2 = linspace ( 20,-2*%pi,10) Operações com vetores Dimensão: length(x) Número de linhas e colunas:
G2 = linspace ( 20,-2*%pi,10) Operações com vetores Dimensão: length(x) Número de linhas e colunas:
G2 = linspace ( 20,-2*%pi,10) Operações com vetores Dimensão: length(x) Número de linhas e colunas:

Dimensão: length(x)

Número de linhas e colunas: [nr,nc] = size(x)

Elementos iguais a 1: x = ones(m,n)

Matriz identidade: x = eye(m,m)

Vetores nulos: x = zeros(m.n)

Vetores com valores aleatórios: x =rand(m,n)

Apaga elemento: x(i,j) = []

Insere elemento i no final: x = [x i]

Acessa último elemento: x($)

Acessa elementos entre n e m: x(n:m)

Agrupa dois vetores: c = [x y]

 

65

66

Operações e estruturas básicas

 

Operações com vetores

As grandezas vetoriais podem ser criadas

Valor mínimo: min(x)

colocando-se seus componentes entre

Valor mínimo e posição relativa: [V,P] = min(x)

 

colchetes [ ]

Valor máximo: max(x) Valor máximo e posição relativa: [V,P] = max(x)

Os componentes de um vetor podem ser

Encontra um elemento: find(x operador elemento)

separados por vírgula, espaço ou por

Soma dos elementos: sum(x) Multiplicação dos elementos: prod(x)

 

ponto-e-vírgula.

Ordenação dos elementos: gsort(x)

 

67

68

Operações com vetores

Operações com vetores Acesso à linha i: A(i,:) Acesso à coluna j: A(:,j) Insere linha no
Operações com vetores Acesso à linha i: A(i,:) Acesso à coluna j: A(:,j) Insere linha no
Operações com vetores Acesso à linha i: A(i,:) Acesso à coluna j: A(:,j) Insere linha no
Operações com vetores Acesso à linha i: A(i,:) Acesso à coluna j: A(:,j) Insere linha no

Acesso à linha i: A(i,:)

Acesso à coluna j: A(:,j)

Insere linha no final: A = [A;linha]

Insere coluna no final: A = [A coluna]

Acesso à ultima linha: A($,:)

Acesso à última coluna: A(:,$)

Operações com vetores

Acesso à última coluna: A(:,$) Operações com vetores Soma: C = A + B Multiplicação: C
Acesso à última coluna: A(:,$) Operações com vetores Soma: C = A + B Multiplicação: C
Acesso à última coluna: A(:,$) Operações com vetores Soma: C = A + B Multiplicação: C
Acesso à última coluna: A(:,$) Operações com vetores Soma: C = A + B Multiplicação: C

Soma: C = A + B

Multiplicação: C = A*B

Multiplicação elemento: C = A.*B

Multiplicação por um escalar: B = a*A

Matriz complexa: C = A + B*%i (A e B reais)

Matriz transposta: C = A’

Determinante: d = det(A)

Diagonal: d = diag(A).

 

69

70

Operações com vetores

 

Exercício

 

Exercício:

1. Desenhe a função f(x) = 2e -0,2x para o intervalo 0≤x≤10.

 

1. Crie:

 

a)

Um vetor unitário com 10 elementos

 

b)

Um vetor nulo com 5 elementos

 

2. Suponha que u = 1 e v = 3. Avalie as seguintes expressões.

 

c)

Um vetor com 10 elementos aleatórios

a)

4u

b) _2v -2

c)

v 3

d)

4_ Πv

 

d)

Verifique suas dimensões

 

3v

(u + v) 2

v 3 u 3

 

3

2. Dado o vetor X = [1 2 3 4 5];

 

a)

Insira o valor 10 no final

 

3. Digite essas declarações. Que resultado obtém?

 

b)

Apague o quinto elemento do vetor

 

c)

Atribua valor zero aos elementos entre 2 e 4

 

--> // criar um array de entrada entre -2*pi e 2*pi

 
   

--> t = -2*%pi : %pi/10 : 2*%pi;

 

3. Dados os vetores

X = [

Y = [10,3 1,1 -2,2]

e sin( ) log(10)]

 

--> // calcular |sin(t)| --> x = abs(sin(t));

--> // plot resultado

--> plot (t,x);

 

crie um vetor Z que seja dado pela união de X e Y.

 
 

71

Introdução ao Scilab

72

72

Matriz

Matriz Uma matriz geral consiste em m*n números dispostos em m linhas e n colunas: Matriz
Matriz Uma matriz geral consiste em m*n números dispostos em m linhas e n colunas: Matriz
Matriz Uma matriz geral consiste em m*n números dispostos em m linhas e n colunas: Matriz
Matriz Uma matriz geral consiste em m*n números dispostos em m linhas e n colunas: Matriz

Uma matriz geral consiste em m*n números dispostos em m linhas e n colunas:

em m*n números dispostos em m linhas e n colunas: Matriz No Scilab: -->M = [1

Matriz

m*n números dispostos em m linhas e n colunas: Matriz No Scilab: -->M = [1 2
m*n números dispostos em m linhas e n colunas: Matriz No Scilab: -->M = [1 2
m*n números dispostos em m linhas e n colunas: Matriz No Scilab: -->M = [1 2
m*n números dispostos em m linhas e n colunas: Matriz No Scilab: -->M = [1 2

No Scilab:

dispostos em m linhas e n colunas: Matriz No Scilab: -->M = [1 2 3; 4

-->M = [1 2 3; 4 5 6; 7 8 9]

M

=

1.

2.

3.

4.

5.

6.

7.

8.

9.

 

73

74

Operações com matrizes

 

Operações com matrizes

 

Exercício

Exercício:

1.

Dadas as matrizes

   

A = [1 2 3;4 5 6]; e B = [7;8;9]

Determine:

 

1.

Crie uma matriz 5X5 de números aleatórios.

a)

Atribua valor 0 à coluna 2.

a)

A*B

b)

Multiplique os elementos de 2 a 4 da coluna 3 por 10.

b) B*A

 

c)

Divida os elementos de 1 a 3 da coluna 5 por 5.

c) A*identidade(A)

d)

Remova a coluna 3.

d) A*ones(A)

e)

Remova a linha 2.

e) A*ones(A)’ + identidade(A)

 

2.

Dada a matriz A = [2 4 6;8 10 12; 1 2 3]

 

a) Atribua valor zero à linha 3;

 

b) Multiplique a linha 2 por 10;

c) Remova a última linha

d) Insira o vetor B = [1 2 3] na última linha de A

 
 

75

76

Operações com matrizes

Operações com matrizes Exercícios: Dadas as matrizes A= 1 3 4 6 8 9 2 3
Operações com matrizes Exercícios: Dadas as matrizes A= 1 3 4 6 8 9 2 3
Operações com matrizes Exercícios: Dadas as matrizes A= 1 3 4 6 8 9 2 3
Operações com matrizes Exercícios: Dadas as matrizes A= 1 3 4 6 8 9 2 3

Exercícios: Dadas as matrizes

A=

1

3 4 6 8 9

2

3 4 9 1 3

3

3 3 6 5 3

8

8 7 9 9 2

9

8 2 3 4 1

1

1 3 8 7 9

Calcule:

B=

2

2 2 3 4 5

9

0 0 1 2 3

0

1 2 3 7 8

1

9 2 3 5 6

8

9 0 1 2 3

4

2 3 4 5 5

a)

C = A + B

b)

C = A*B

c)

C = 10*A + 5*B

d)

C = A + B*%i

e)

C = A’ + rand(B)

f)

Determinante de A

g)

Determinante de B

h)

Diagonal de A

Matrizes simbólicas

de B h) Diagonal de A Matrizes simbólicas Uma matriz simbólica pode ser construída com elementos
de B h) Diagonal de A Matrizes simbólicas Uma matriz simbólica pode ser construída com elementos
de B h) Diagonal de A Matrizes simbólicas Uma matriz simbólica pode ser construída com elementos
de B h) Diagonal de A Matrizes simbólicas Uma matriz simbólica pode ser construída com elementos

Uma matriz simbólica pode ser construída com elementos do tipo string:

--> M =['a' 'b';'c' 'd'] ;

Se atribuídos valores às variáveis pode-se visualizar a

forma numérica da matriz com a função evstr():

Exemplo:

--> a = 1;

--> b = 4;

--> c = 3;

--> d = 5;

--> evstr(M);

 

77

78

Matrizes: operadores especiais

 

Matrizes: operadores especiais

 
 

Solução do sistema:

Operador \: divisão à esquerda.

x=A -1 b (inversa de A multiplicada pelo vetor b)

 

Seja Ax=b um sistema de equações lineares escrito na forma matricial, sendo A a matriz de coeficientes, x o vetor da incógnitas e b o vetor dos termos independetes:

 

--> A=[1 3;3 4]

1x + 3y = 5 3x + 4y = 2

-->b=[5;2]

--> x=inv(A)*b

 

--> w = A\b

  --> y = A^(-1)*b
 

--> y = A^(-1)*b

Exercício:

2X + 3y + 3z = 2 4x + 3y+ 2z = 1 3x + 7y + 9z = 5

 

Resolva o sistema linear.

Substitua as soluções na equação para confirmação

a solução.

 

79

80

Matrizes: operadores especiais

Matrizes: operadores especiais Operador . (usado com outros operadores para operações elemento a elemento) Exemplo: A
Matrizes: operadores especiais Operador . (usado com outros operadores para operações elemento a elemento) Exemplo: A
Matrizes: operadores especiais Operador . (usado com outros operadores para operações elemento a elemento) Exemplo: A
Matrizes: operadores especiais Operador . (usado com outros operadores para operações elemento a elemento) Exemplo: A

Operador . (usado com outros operadores para

operações elemento a elemento)

Exemplo:

A = [1 2 3; 3 4 6; 7 8 9]

B = [2 4 6;8 10 12; 14 16 18]

Sistemas lineares

4 6; 7 8 9] B = [2 4 6;8 10 12; 14 16 18] Sistemas
4 6; 7 8 9] B = [2 4 6;8 10 12; 14 16 18] Sistemas
4 6; 7 8 9] B = [2 4 6;8 10 12; 14 16 18] Sistemas
4 6; 7 8 9] B = [2 4 6;8 10 12; 14 16 18] Sistemas

x 1 + 2x 2 + x 3 = 5

-x 1 +5x 2 4x 1 - 2x 2 +

- 3x 3 = 0

=3

x 3

1 +5x 2 4x 1 - 2x 2 + - 3x 3 = 0 =3 x

1

-1

4

2

5

-2

A

0 x 5 1 -3 x = 0 2 1 x 3 3 * X
0
x
5
1
-3
x
=
0
2
1
x
3
3
*
X
=
B
-->A.*B -->A./B Solução : X = A -1 . B ans = ans = 0.5
-->A.*B
-->A./B
Solução : X
=
A -1 . B
ans
=
ans
=
0.5
0.5
0.5
-->
A=[1 2 0;-1 5 -3;4 -2 1]
2.
8.
18.
24.
40.
72.
0.375
0.4
0.5
-->
B=[5; 0; 3]
98.
128.
162.
0.5
0.5
0.5
-->
X=A\B
-->
Y=inv(A)*B
81
Introdução ao Scilab
82
82
Expressões
Expressões
Exemplo: resolver o sistema linear
-x 1 + x 2 + 2x 3 = 2
Exemplo: resolver o sistema linear
-x 1 + x 2 + 2x 3 = 2
3x 1 + x 3
= 6
3x 1 - x 2 + x 3
= 6
-x 1 + 3x 2 + 4x 3 = 4
-x 1 + 3x 2 + 4x 3 = 4
--> A = [-1 1 2; 3 –1 1; -1 3 4]
A
= -1
1
2
3
-1
1
-1
3
4
--> b = [2; 6; 4]
b
= 2
6
4
--> x = A\b
x
= 1.
-1.
2.
Introdução ao Scilab
83
83
Introdução ao Scilab
84
84

Expressões

Expressões Resolva o sistema linear Introdução ao Scilab 85 85 Polinômios Função poly( a , x
Expressões Resolva o sistema linear Introdução ao Scilab 85 85 Polinômios Função poly( a , x
Expressões Resolva o sistema linear Introdução ao Scilab 85 85 Polinômios Função poly( a , x
Expressões Resolva o sistema linear Introdução ao Scilab 85 85 Polinômios Função poly( a , x

Resolva o sistema linear

Expressões Resolva o sistema linear Introdução ao Scilab 85 85 Polinômios Função poly( a , x

Introdução ao Scilab

85

85

Polinômios

o sistema linear Introdução ao Scilab 85 85 Polinômios Função poly( a , x , ‘
o sistema linear Introdução ao Scilab 85 85 Polinômios Função poly( a , x , ‘
o sistema linear Introdução ao Scilab 85 85 Polinômios Função poly( a , x , ‘
o sistema linear Introdução ao Scilab 85 85 Polinômios Função poly( a , x , ‘
o sistema linear Introdução ao Scilab 85 85 Polinômios Função poly( a , x , ‘

Função poly(a, x, ‘flag’)

a: matriz de número reais : matriz de número reais

x: símbolo da variável : símbolo da variável

flag: string (" roots ", " coeff "), por default seu : string ("roots", "coeff"), por default seu

valor é "roots".

Introdução ao Scilab

86

86

Polinômios

é "roots". Introdução ao Scilab 86 86 Polinômios Dado p1 = -- > p1 = poly([1,
é "roots". Introdução ao Scilab 86 86 Polinômios Dado p1 = -- > p1 = poly([1,
é "roots". Introdução ao Scilab 86 86 Polinômios Dado p1 = -- > p1 = poly([1,
é "roots". Introdução ao Scilab 86 86 Polinômios Dado p1 = -- > p1 = poly([1,

Dado p1 =

-- > p1 = poly([1, -6, -72, -27], "x", "coeff")

p1

=

1 - 6x - 72x

2

3

- 27x

-- > r = roots(p1) // obtendo as raízes do polinômio

r

=

0.0824886

- 0.1743828

-

2.5747724

-->p2 = poly (r, "x", "roots") // definindo pelas raízes

p2

=

2

3

-

0.0370370 + 0.2222222x + 2.6666667x + x

Introdução ao Scilab

87

87

Polinômios

+ 2.6666667x + x Introdução ao Scilab 87 87 Polinômios Polinômio definido pelas suas raízes -->p
+ 2.6666667x + x Introdução ao Scilab 87 87 Polinômios Polinômio definido pelas suas raízes -->p
+ 2.6666667x + x Introdução ao Scilab 87 87 Polinômios Polinômio definido pelas suas raízes -->p
+ 2.6666667x + x Introdução ao Scilab 87 87 Polinômios Polinômio definido pelas suas raízes -->p

Polinômio definido pelas suas raízes

-->p = poly([1 2], "s“, “roots”) p =

2

2 - 3s + s -->

Com a função roots, comprova-se que as raízes

de p são, realmente, 1 e 2,

-->roots(p)

ans =

1.

2.

Introdução ao Scilab

88

88

Polinômios

Polinômios Polinômio criado a partir dos seus coeficientes . Ex.: criar o polinômio q = 2s
Polinômios Polinômio criado a partir dos seus coeficientes . Ex.: criar o polinômio q = 2s
Polinômios Polinômio criado a partir dos seus coeficientes . Ex.: criar o polinômio q = 2s
Polinômios Polinômio criado a partir dos seus coeficientes . Ex.: criar o polinômio q = 2s

Polinômio criado a partir dos seus coeficientes.

Ex.: criar o polinômio q = 2s + 1

-->q = poly([1 2], "s", "coeff") q =

1 + 2s

-->roots(q)

ans =

- 0.5

Polinômios Soma, Subtração, Multiplicação, Divisão

– Soma, Subtração, Multiplicação, Divisão -->p + q // Adição ans = 2 3 - s
– Soma, Subtração, Multiplicação, Divisão -->p + q // Adição ans = 2 3 - s
– Soma, Subtração, Multiplicação, Divisão -->p + q // Adição ans = 2 3 - s
– Soma, Subtração, Multiplicação, Divisão -->p + q // Adição ans = 2 3 - s

-->p + q // Adição

ans =

2

3 - s + s

-->p - q // Subtração

ans =

2

1 - 5s + s

-->p * q // Multiplicação

ans =

2 3 2 + s - 5s + 2s Introdução ao Scilab 89 89 90
2
3
2 + s - 5s
+ 2s
Introdução ao Scilab
89
89
90
Polinômios – Soma, Subtração, Multiplicação, Divisão
Polinômios
-->p / q // Divisão
-->h = poly ([5, -3, 1], “x”, “coeff”)
ans =
// definindo o polinômio
2
h =
2 - 3s + s
2
-----------
5
- 3x + x
1 + 2s
-->horner(h, 2) // avaliando o polinômio em x = 2
-->[r, c] = pdiv(p,q) // Divisão: c=quociente,
ans =
r=resto
3.
c =
- 1.75 + 0.5s
r
=
3.75
91
92

Polinômios

Polinômios Exemplo -- > y = poly([1 2 3], ‘x’, ‘coeff’) ou: -- > x =
Polinômios Exemplo -- > y = poly([1 2 3], ‘x’, ‘coeff’) ou: -- > x =
Polinômios Exemplo -- > y = poly([1 2 3], ‘x’, ‘coeff’) ou: -- > x =
Polinômios Exemplo -- > y = poly([1 2 3], ‘x’, ‘coeff’) ou: -- > x =

Exemplo

--> y = poly([1 2 3], ‘x’, ‘coeff’)

ou:

--> x = poly(0,’x’)

z = 1+2*x + 3*x^2

Exercício:

Dados os polinômios:

y = 6x 3 + 5x 2 + 4x + 1 z =7x 4 + 5x 3 +3x Calcule:

a) y + z
b) y*z
c) y 2 + 3z
d) z/y
e) z*y/(z 3 )

Polinômios

c) y 2 + 3z d) z/y e) z*y/(z 3 ) Polinômios roots(z) : calcula as
c) y 2 + 3z d) z/y e) z*y/(z 3 ) Polinômios roots(z) : calcula as
c) y 2 + 3z d) z/y e) z*y/(z 3 ) Polinômios roots(z) : calcula as
c) y 2 + 3z d) z/y e) z*y/(z 3 ) Polinômios roots(z) : calcula as

roots(z): calcula as raízes de um polinômio

[r,q] = pdiv(y,z): efetua a divisão e calcula

quociente e resto

coeff(y): retorna os coeficientes do polinômio.

Exercício:

Dados os polinômios:

y = 6 x 5 + 10x 4 + 8x 3 + 10x 2 + 3x + 5 z = 5x 5 + 4x 4 + 3x 3 + 2x Calcule:

a) suas raízes

b) os coeficientes

c) o resto e o quociente das divisões:

y/z e z/y

 

93

94

Matrizes de polinômios

 

Matrizes de polinômios

 

Os elementos da matriz podem ser polinômios:

 

Se A é uma matriz de polinômios:

 

Exemplo:

--> s = poly(0, ‘s’);

A

= A(‘num’): retorna apenas os numeradores

--> A = [1-2*s+s^3

3*s+4*s^2; s

2*s]