20
Introdução ao Scilab ESCOLA POLITÉCNICA DA UNIVERSIDADE DE PERNAMBUCO Profª Gilka Rocha Barbosa Introducao ao Scilab Apresentar comandos básicos necessários à introdução à programação e desenvolvimento de programas simples. Ambiente Elementos básicos Elementos básicos Números, Vetores e Matrizes Variáveis Operadores Funções elementares Carga e gravação Introdução ao Scilab 2 Linguagens de Programação (LP) As linguagens de programação permitem ao usuário especificar um programa de uma forma semelhante ao algoritmo. Um compilador/interpretador da linguagem deverá fazer a tradução das instruções de alto nível para as de nível máquina (por exemplo, Introdução ao Scilab 3 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 LDA 11A810A0 LDB 22345A91 ADD A,B STA 1234FE88 Linguagens de Programação (LP) mov bx, 10 // move para bx o valor 10 mov ax,0 // zera o registrador AX sub cl,30 // subtrai 30 de cl add ax,cx // soma AX com CX inc di // incrementa o DI lea dx,nummax // instrução para leitura do teclado cmp al,'1' // compara AL com 1 je soma // se for igual a 1 ele fara uma soma Introdução ao Scilab 4 je soma // se for igual a 1 ele fara uma soma cmp al,'2' // compara AL com 2 je subt //se for igual a 2 ele fara uma subtracao

5 - Introduo ao Scilab

Embed Size (px)

Citation preview

Page 1: 5 - Introduo ao Scilab

Introdução ao Scilab

ESCOLA POLITÉCNICA DA UNIVERSIDADE DE PERNAMBUCO

Profª Gilka Rocha Barbosa

Introducao ao Scilab

Apresentar comandos básicos necessários à introdução à programação e desenvolvimento de programas simples.AmbienteElementos básicosElementos básicos

Números, Vetores e Matrizes

Variáveis OperadoresFunções elementaresCarga e gravação

Introdução ao Scilab 2

Linguagens de Programação (LP)

As linguagens de programação permitem aousuário especificar um programa de uma formasemelhante ao algoritmo.Um compilador/interpretador da linguagemdeverá fazer a tradução das instruções de altonível para as de nível máquina (por exemplo,

Introdução ao Scilab 3

nível para as de nível máquina (por exemplo,manter os endereços de memória onde estãoguardadas as variáveis).

C = A + BLDA 11A810A0

LDB 22345A91

ADD A,B

STA 1234FE88

Linguagens de Programação (LP)

mov bx, 10 // move para bx o valor 10mov ax,0 // zera o registrador AXsub cl,30 // subtrai 30 de cl

add ax,cx // soma AX com CXinc di // incrementa o DIlea dx,nummax // instrução para leitura do teclado

cmp al,'1' // compara AL com 1je soma // se for igual a 1 ele fara uma soma

Introdução ao Scilab 4

je soma // se for igual a 1 ele fara uma somacmp al,'2' // compara AL com 2je subt //se for igual a 2 ele fara uma subtracao

Page 2: 5 - Introduo ao Scilab

Linguagens de Programação (LP)

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

Fortran, Pascal, C, MATLAB, SCILABControle explícito da execução

Linguagens Orientadas a Objetos:

Introdução ao Scilab 5

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

Linguagens Funcionais: LISP, SchemeBaseadas na especificação de funções

Linguagens Lógicas: PrologImplementando a Lógica de Predicados

Programação Imperativa

Paradigma no qual o programador especifica explicitamente o controle de execução, isto é, a sequenciação das instruções base.

Controle de Execução

Introdução ao Scilab 6

Controle de ExecuçãoA ordem pela qual as instruções são executadas é controlada explicitamente por instruções de �Seqüência �Execução Condicional �Execução Repetida

Controle de Execução - Seqüência

A = input (‘Digite o valor de A´); // O valor de A é “informado”

B = A + 3; // A variável B toma o valor 2+3 = 5

Introdução ao Scilab 7

C = B * 2; // A variável C toma o valor 5*2 = 10

disp C; // O valor de C é passado para o exterior

A = input (‘Digite o valor de A´); // O valor de A é “informado”.

if A > 0 // Se A maior que 0

B = A; // à variável B é atribuído

Controle de Execução – Execução Condicional

Introdução ao Scilab 8

B = A; // à variável B é atribuído

else // o valor da variável A

B = -A; //Se não, o valor negativo de A

end // é atribuído à variável B

disp B; // o valor de B é comunicado

Page 3: 5 - Introduo ao Scilab

A = input (‘Digite o valor de A´)// O valor de A é “informado”.

B = 1; // o valor de B é inicializado com 1

while A > 1

Controle de Execução - Repetição

Introdução ao Scilab 9

B = B * A; // à variável B é atribuído

A = A – 1; // o fatorial de A

end;

disp B; // o valor de B é comunicado

Scilab

Ambiente utilizado no desenvolvimento de software para resolução de problemas numéricosGratuito, software free

A última versão está sempre disponível, geralmente via InternetSintaxe semelhante ao Matlab

Introdução ao Scilab 10

Sintaxe semelhante ao MatlabPermite interface com rotinas escritas em outras linguagens como CSuporta o desenvolvimento de conjuntos de funções voltadas para aplicações especificas (toolboxes). Concebido e mantido pelo Institut de Recherche em Informatique et em Automatique (INRIA)http://www.inria.fr

1. Ambiente Scilab

Os comando são digitados no prompt

Introdução ao Scilab 11

1. Ambiente Scilab

Introdução ao Scilab 12

Mude o diretório

Page 4: 5 - Introduo ao Scilab

2. Ambiente de programação

Um conjunto de comandos é digitado em um arquivo texto e este arquivo é executado no ambiente Scilab

Introdução ao Scilab 13

Teste!!!!!!!!// Media - Programa para calcular a media de duas notas

clearnota1 = input ('Digite a primeira nota: ');nota2 = input ('Digite a segunda nota: ');media = (nota1 + nota2)/ 2;disp (resultado)disp (resultado)disp (media)printf ( "\n A média entre %1.2f e %1.2f é %1.2f \n\n", nota1, nota2, media)

Introdução ao Scilab 14

Salve com o nomeMedia.sce

Teste!!!!!!!!!!

Introdução ao Scilab 15

executeMedia

3. Janela de gráficos

Introdução ao Scilab 16

Page 5: 5 - Introduo ao Scilab

Teste!!!!!!!!

-->a= 1 : 0.1 : 10;

-->plot (a, sin(a))

Introdução ao Scilab 17

Veja a barraScilab Graphic

Utilização básica

Adição +Subtração -Multiplicação *

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

Introdução ao Scilab 18

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

Elementos básicosNúmeros, Vetores e Matrizes

Uma matriz pode serUm escalar (número): matriz com dimensão 1 x 1Um vetor linha: matriz 1 x nUm vetor coluna: matriz n x1Uma matriz bidimensional: matriz n x mUma matriz multidimensional: matriz com dimensão

Introdução ao Scilab 19

Uma matriz multidimensional: matriz com dimensão n1 x n2 x n3 x ... nm

Último valor calculado

Casa decimal

No ambiente do Scilab digite:--> 10ans =

10--> --> p=%pip =

3.1415927-->

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

Ali22B, Cost, X3_f22 and s2Sc6É case-sensitive (diferencia letras maiúscula de minúscula)

Introdução ao Scilab 20

minúscula)Mat1 é diferente de mat1

Variáveis ilegais Ali-22, 5x, 3Cost, &r5, %67 and @xyt56

Caracteresx= ‘a’ ou x= “a”

Strings mg1='Ali'; ou mg2=‘SCILAB DEMOS'

Page 6: 5 - Introduo ao Scilab

Números, Vetores e Matrizes

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

Real: 4.607, - 199.34,

Introdução ao Scilab 21

Complexo: 2 + 3i , i=j=sqrt(-1)),Literal: “nome”Lógico: V/F

Utilização básica

Variáveis especiais – pré-definidas.São protegidas e não podem ser apagadas. who

Algumas são precedidas pelo caractere %:%pi

Introdução ao Scilab 22

%pi%i%e

Outras variáveis podem ser criadas-- > a=1-- > A = 2-- > a

Utilização básica

Comandos elementares who - lista as variáveis

%eps, %pi, %inf, %nan, etc (variáveis permanentes) e as variáveis utilizadas pelo usuário no espaço de trabalho. (Ex.:

Introdução ao Scilab 23

pelo usuário no espaço de trabalho. (Ex.: A, ans, s, x)

whos () - lista e dimensiona as variáveis clear - remove todas as variáveis do espaço

de trabalhohelp - informa sobre os comandos e funções

Ex.: help, help inv, help helpquit ou exit – sai do Scilab

Utilização básica

... 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 =

Introdução ao Scilab 24

s =0.6456349

; ao final de uma expressão o cálculo é feito mas o resultado não é apresentado -- > A=1 // Atribui o valor 1 a A-- > b=2; // Atribui o valor 2 a b-- > A + b; // soma de A e b

Page 7: 5 - Introduo ao Scilab

Exemplo

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

a

acbbxx

2

4,

2

21

−±−=

Resolvendo a seguinte equação:

Introdução ao Scilab 25

Resolvendo a seguinte equação:x2 + 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)Scilab apresenta como solução:

x1 = -2.00 + 3.000ix2 = -2.000 – 3.000i

Exemplo

-->g!--error 4

undefined variable : g

-->g = 1:5

Introdução ao Scilab 26

-->g = 1:5g =

1. 2. 3. 4. 5.

-->g*g!--error 10

inconsistent multiplication

Comandos e Variáveis

variável = expressão

-->for i=1:10-->x(i)=i-->end

--> area = %pi * 2.5^2

--> x1 = 1 +1/2+1/3+1/4+1/5+1/6

--> x1 = 1 +1/2+1/3+1/4+...1/5+1/6

Introdução ao Scilab 27

Vetores e matrizes

• As grandezas vetoriais podem ser criadascolocando-se seus componentes entrecolchetes [ ]

• Os componentes de um vetor podem ser• Os componentes de um vetor podem serseparados por vírgula, espaço ou porponto-e-vírgula.

Page 8: 5 - Introduo ao Scilab

Números, Vetores e Matrizes--> escalar = 10escalar =

10.--> vetor_linha = [1, 2, 3]vetor_linha =

1. 2. 3.--> vetor_coluna = [10;20;30]

Introdução ao Scilab 29

--> vetor_coluna = [10;20;30]vetor_coluna =

10.20.30.

--> matriz_3x3=[0.1 0.2 0.3; 1 2 3;10 20 30]matriz_3x3 =

0.1 0.2 0.31. 2. 3.10. 20. 30.

Teste!!!!!!!!// Media1 - Programa para calcular a media de duas notas

clearnota1 = input ('Digite a primeira nota: ');nota2 = input ('Digite a segunda nota: ');media = (nota1 + nota2)/ 2;if media >= 7 if media >= 7 resultado = ' aprovado.';

else resultado = ' reprovado. ';

end disp (resultado)disp (media)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 30

Salve com o nomeMedia1.sce

Exemplo// Media2 - Programa para calcular a media de duas notasclearcont = 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

Introdução ao Scilab 31

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");

enddisp (cont)

Exemplo Media2

Introdução ao Scilab 32

Page 9: 5 - Introduo ao Scilab

Exemplo Exec...

Media2

Introdução ao Scilab 33

Comandos de controle de fluxo

comando if Formatos:

if condição1comandos1;

elseif condição2comandos2;

if condiçãocomandos;

end

Introdução ao Scilab 34

if condiçãocomandos1;

elsecomandos

end

comandos2;else

comandos3end

Exemplo do comando if

// Este programa determina se o num. n é par ou ímpar

for n=1:4resto = modulo (n,2);if resto == 0

printf ('\n %d é par\n', n) ;

Introdução ao Scilab 35

printf ('\n %d é par\n', n) ; else

printf('\n %d é ímpar\n', n); endend

Comandos de controle de fluxo

comando selectFormato:

select valor-teste

case expr-1,comandos1

Introdução ao Scilab 36

comandos1case expr-2,

comandos2...else

comandosend

Page 10: 5 - Introduo ao Scilab

Exemplo do comando select

// Exemplo de caseA=input('Digite um número')select Acase 1,

disp('A vale 1')

Introdução ao Scilab 37

disp('A vale 1')case 2,

disp('A vale 2')else

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

Operadores Relacionais

Operador Descrição

== igual a

~= , <> diferente de

> maior do que

< menor do que

>= maior ou igual a

Operadores Lógicos

Operador Descrição

& e

| ou

~ não

Introdução ao Scilab 38

>= maior ou igual a

<= menor ou igual a

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

Comandos de controle de fluxo

Comando forFormato:

for variável = expressãocomandos;

endend

Introdução ao Scilab 39

Exemplo do comando for

// Gera e mostra uma matriz

n=3;m=3;for i=1:m

for j=1:na(i,j)=i+j;

Introdução ao Scilab 40

a(i,j)=i+j; end

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

Page 11: 5 - Introduo ao Scilab

Comandos de controle de fluxo

Comando while

Formato: while condição

Introdução ao Scilab 41

while condiçãocomandos;

end

Exemplo do comando while

// Apresenta um acumuladorn=1;x=input ();while n<=xn=n+1;end

Introdução ao Scilab 42

// Apresenta um acumuladorn=1;while n<=23n=n+1;endprintf(‘\n final: %d’,n);

enddisp(“ final”);disp (n)

Comando break

// exemplo de encerramento de rotinai=0;

Encerrando uma rotina

Introdução ao Scilab 43

i=0;while i < 100,

i=i+1;disp(i)if i == 10,

breakend

end

Funções de entrada - input

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

Exemplo: Receber um dado numérico

nu = input( ‘Digite um numero qualquer: ’ )

Introdução ao Scilab 44

nu = input( ‘Digite um numero qualquer: ’ )

Receber um dado textotx = input( ‘Digite a resposta: ’,’s’ )

variável stringcomando de atribuição

solicita ao usuário que forneça algum dado de entrada

Page 12: 5 - Introduo ao Scilab

Funções de Saída - disp

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.

Exemplos:

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

Introdução ao Scilab 45

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

nome = "maria"; disp ("Seu nome é " + nome) // concatena as strings

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

// converte numero em string e concatena

Funções de Saída - printf

printf (formato, dado)exibe valores e texto e permite a formatação dos valores

formato = cadeia de caracteres descrevendo como os dados devem ser exibidos.

Caractere de formatação

Resultado

% indica como cada variável da lista de dados será exibida dentro da string de formatação

Introdução ao Scilab 46

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

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

%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

// Programa para calcular a media de duas notasclearcont = 0; tmedias = 0; fim = "s“; nota1= -1; nota2 = -1;while fim == "s" | fim == "S"

while nota1 < 0 | nota1 > 10nota1 = input('Digite a primeira nota: ');if nota1 < 0 | nota1 > 10

Introdução ao Scilab 47

if nota1 < 0 | nota1 > 10disp ('Nota inválida')end

endwhile nota2 < 0 | nota1 > 10

nota2 = input('Digite a segunda nota: ');if nota2 < 0 | nota1 > 10

disp ('Nota inválida')end

end

Exemplo (continuação)

media = (nota1 + nota2)/ 2;if media >= 7 resultado = ' aprovado.';

else resultado = ' reprovado. ';

end printf ("\n Média %.2f \t %s”, media, resultado)tmedias = tmedias + media;

Introdução ao Scilab 48

tmedias = tmedias + media;cont = cont + 1;fim = input('Para continuar, digite s: ', "s");endmediag=tmedias/cont;printf "\n Total de aluno(s) processados %.d - Média geral dos aluno %.2f \n \n”, cont, tmedia)

Page 13: 5 - Introduo ao Scilab

Outros Usos

Introdução ao Scilab

Vetores e matrizes

• As grandezas vetoriais podem ser criadascolocando-se seus componentes entrecolchetes [ ]

• Os componentes de um vetor podem ser• Os componentes de um vetor podem serseparados por vírgula, espaço ou porponto-e-vírgula.

Números, Vetores e Matrizes--> escalar = 10escalar =

10.--> vetor_linha = [1, 2, 3]vetor_linha =

1. 2. 3.--> vetor_coluna = [10;20;30]

Introdução ao Scilab 51

--> vetor_coluna = [10;20;30]vetor_coluna =

10.20.30.

--> matriz_3x3=[0.1 0.2 0.3; 1 2 3;10 20 30]matriz_3x3 =

0.1 0.2 0.31. 2. 3.10. 20. 30.

Incremento (default = 1)

Números, Vetores e Matrizescriar vetores com elementos igualmente espaçados:

-->t = 0:0.1:10 // Cria um vetor 1 x 101, t =

column 1 to 120. 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 …

--> k = 0:10 // Cria um vetor 1 x 11

Início Fim Número de elementos

Introdução ao Scilab 52

--> k = 0:10 // Cria um vetor 1 x 11

k = 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.

--> L = linspace (1,10,5) // Cria um vetor 1 x 5

L = 1. 3.25 5.5 7.75 10.

Page 14: 5 - Introduo ao Scilab

Vetores e Matrizes

-->m = [23-log(3) sqrt(4) ; 3+%i 1/%pi]m =

21.901388 2.3. + i 0.3183099

Algumas matrizes especiais:-->m=zeros(2,4)

Introdução ao Scilab 53

-->m=zeros(2,4)m =

0. 0. 0. 0.0. 0. 0. 0.

-->m=ones(2,4)m =

1. 1. 1. 1.1. 1. 1. 1.

Manipulação de matrizes - Concatenação

--> a=[4 5 6 ; 1 2 3]a =

1 2 3 4 5 6

--> b=[10 20 30;40 50 60]b =

Introdução ao Scilab 54

b =10 20 3040 50 60

--> c=[a; b]c =4 5 6

1 2 310 20 30

40 50 60

--> d=[a b]d =4 5 6 10 20 301 2 3 40 50 60

Manipulação de matrizes - Indexação--> d=c(3,2)// Elemento da 3ª linha e 2ª colunad =

20

--> e=c(11)// 11º elemento e =

30

--> f=c(2,2:3) // Elementos da 2ª linha começando da 2ª coluna até a 3ª

Introdução ao Scilab 55

--> f=c(2,2:3) // Elementos da 2ª linha começando da 2ª coluna até a 3ªf =

2 3

--> g = c(:,3) // Elementos da 3ª coluna

g =63

3060

Algumas funções com vetores

-->min(c) // encontra o valor mínimoans =

1.

-->[Y,I] = min(c)I =

2. 1.

Y =

Introdução ao Scilab 56

Y =1.

-->max(c) // valor máximoans =

60.

-->[Y,I] = max(c)I =

4. 3.Y =

60.

Page 15: 5 - Introduo ao Scilab

Algumas funções com vetores

-->mean(c) // Médiaans =

19,25.

-->sum(c) // soma dos elementosans =

231.

Introdução ao Scilab 57

-->prod(c) // multiplica os elementosans =

5.184D+11

-->sort(c) / Classifica os elementosans =

60. 20. 4.50. 10. 3.40. 6. 2.30. 5. 1.

Exemplo de função com vetor

--> 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

Introdução ao Scilab 58

--> z=cos(x);--> plot (x,z)

0 1 2 3 4 5 6 7 8 9 10-1

0 1 2 3 4 5 6 7 8 9 10-1

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

0.8

1

Polinômios

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

2 31 - 6x - 72x - 27x

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

Introdução ao Scilab 59

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

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

Polinômios

Polinômio definido pelas suas raízes-->p = poly([1 2], "s")p =

22 - 3s + s-->

Introdução ao Scilab 60

-->

Com a função roots, comprova-se que as raízes de p são, realmente, 1 e 2,-->roots(p)ans =

1. 2.

Page 16: 5 - Introduo ao Scilab

Polinômios

Polinômio criado a partir da especificação de seus coeficientes.Ex.: criar o polinômio q = 2s + 1

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

Introdução ao Scilab 61

q =1 + 2s

-->roots(q) ans =- 0.5

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

-->p + q // Adiçãoans =

23 - s + s

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

Introdução ao Scilab 62

ans =2

1 - 5s + s

-->p * q // Multiplicaçãoans =

2 32 + s - 5s + 2s

-->p / q // Divisãoans =

22 - 3s + s-----------

1 + 2s

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

Introdução ao Scilab 63

1 + 2s

-->[r, c] = pdiv(p,q) // Divisão: c=quociente, r=restoc =

- 1.75 + 0.5sr =

3.75

Polinômios

-->p = poly ([5, -3, 1], “x”, “coeff”);// x^2 - 3*x + 5 definindo o polinômiop =

25 - 3x + x

Introdução ao Scilab 64

-->horner(p, 2) // avaliando o polinômio em x = 2ans =3.

Page 17: 5 - Introduo ao Scilab

Polinômios - Exemplo

1. Desenvolva uma solução em SCILAB para encontrar as raízes e apresentar o gráfico da equação y= 2x2 - 3x + 1com 30 pontos entre 0 e 5.

--> p=poly ([1 -3 2],”x”,”coef”) // Gera a equaçãop =

2

Introdução ao Scilab 65

21 - 3x + 2x

--> r= roots(p) // Calcular as suas raízesr=0.51

-->x=linspace(0, 5, 30); // gera vetor com 30 pontos entre 0 e 5

-->y=horner(p,x); // Encontra elementos na equação

-->plot(x,y) // Gera gráfico

Exercícios

1. Calcule o produto dos polinômios x6 + 10 e x2 - 2x + 3.

2. Obtenha o polinômio cujas raízes são os números 1, 2 e 3.

3. Calcule os zeros do seguinte polinômio p(x) = x3 + 4x2 - 3x + 1.

Introdução ao Scilab 66

p(x) = x3 + 4x2 - 3x + 1.

4. Obtenha o desenho da função f(x) = 2e-0,2x para o intervalo 0≤x≤10.

x = 0 : 0.1 : 10;

y = 2 * exp (-0.2 * x);

plot (x,y);(Obtenha ajuda a respeito da função exp usando: Comando help exp digitado na Janela de Comandos e o Navegador de Ajuda.)

Exercício

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

a) 4u b) 2v-2 c) v3 d) 4πv 3v (u + v)2 v3 – u3 3

6. Digite essas declarações. Que resultado você obtém?

Introdução ao Scilab 67

6. Digite essas declarações. Que resultado você obtém?

--> // criar um array de entrada entre -2π e 2π--> t = -2*%pi : %pi/10 : 2*%pi;--> // calcular |sin(t)|--> x = abs(sin(t));--> // plot resultado--> plot (t,x);

Exercício-->u=1; v=3;

-->a= (4*u)/(3*v)a =

0.4444444

-->b=(2*v^(-2))/(u+v)^2

Introdução ao Scilab 68

-->b=(2*v^(-2))/(u+v)^2b =

0.0138889

-->c=v^3/(v^3 - u^3)c =

1.0384615

-->d= 4/3*(%pi*v)d =

12.566371

Page 18: 5 - Introduo ao Scilab

Sistemas lineares

x1 + 2x2 + 0x3 = 5 1 2 0 x1 5-x1 +5x2 - 3x3 = 0 -1 5 -3 x2 = 04x1 - 2x2 + x3 =3 4 -2 1 x3 3

A * X = B

Introdução ao Scilab 69

A * X = B

Solução : X = A-1. B

--> A=[1 2 0; -1 5 -3; 4 -2 1]--> B=[5; 0; 3]--> X=A\B--> Y=inv(A)*B

Expressões

Exemplo: resolver o sistema linear-x1 + x2 + 2x3 = 23x1 - x2 + x3 = 6-x1 + 3x2 + 4x3 = 4

Introdução ao Scilab 70

Expressões

Exemplo: resolver o sistema linear-x1 + x2 + 2x3 = 23x1 - x2 + x3 = 6-x1 + 3x2 + 4x3 = 4

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

-1 1 23 -1 1-1 3 4

--> b = [2; 6; 4]

Introdução ao Scilab 71

--> b = [2; 6; 4]b =

264

--> x = A\bx =

1.-1.2.

Expressões

Resolva o sistema linear

Introdução ao Scilab 72

Page 19: 5 - Introduo ao Scilab

Exercícios

1. Resolva o sistema linear 2x + 2y + 2z = 20 2x – 2y + 2z = 8 2x – 2y – 2z = 0

2. Calcule o seno, o coseno, a tangente, a raíz quadrada e a raíz cúbica de x/2.

3. Calcule o logaritmo e a raíz quadrada de -1.

Introdução ao Scilab 73

3. Calcule o logaritmo e a raíz quadrada de -1.

4. Calcule o valor da função ex em 100 pontos do intervalo [-1 . . . 1] e apresente o gráfico da função

5. Calcule o valor da função sen(x+π/10).cos(x)no intervalo entre -π e π, considerando um incremento de 0.1 entre os pontos.

Funções Matemáticas Comuns

Funções de Arredondamento Funções de Manipulação de String

Page 20: 5 - Introduo ao Scilab

Constantes Especiais