Вы находитесь на странице: 1из 23

Representação

Gráfica de
Funções
Bases Computacionais da Ciência
1o Quadrimestre de 2016
Equipe de Professores BIS0005-15

1
Polinômios
Podem ser definidos por

n n−1 2
a n x + an−1 x + ⋯+ a2 x + a1 x+ a 0
O termo de maior ordem, com coeficiente
diferente de zero, define a ordem do polinômio
(ou grau)

Por exemplo:
2
• 2o grau, em x: x −x+ 2
grau, em s: 3 2
• 3o
s −6s + 11 s−6
2
Raízes de equações
p(x)=0: valores de x que anulam o polinômio
• Resolução Analítica (fórmula), Para
segundo grau, Bháskara
• Para 3o e 4o graus, ver métodos em
http://mathforum.org/dr.math/faq/faq.cubic.equations.html
Instruções sobre como resolver equações de terceiro e quarto grau

• Computacionalmente temos métodos


interativos para estimar as raízes.

3
Installation of Scilab in Linux
• Open a terminal, type sudo apt-get update and wait until
update is done.
• Type sudo apt-get install scilab, enter password ufabc and
wait till installation is complete.
• For the “plot” function in Scilab, install libgl1-mesa-swx11 in
the same way
• Open a terminal, type “scilab” and press Enter
• If doesn't work, download the scilab-tar.gz file from
www.scilab.org/products/scilab/download
• Note: there're 32 and 64 bit-versions, choose the appropriate
one for your PC. Move zip-file to Console, extract it there and
locally run it with ./bin/scilab
4
Exemplo: Polinômio de 5 grau o
5 4 3 2
y ( x )=x −15 x + 85 x −225 x + 274 x−120
• Em Softwares como Scilab podemos definir o polinômio e
calcular suas raízes. Digitar coeficientes em ordem de grau
crescente:
-->p5 = poly([-120, 274, -225, 85, -15, 1],"x", "coeff")
p5 =
2 3 4 5
- 120 + 274x - 225x + 85x - 15x + x

-->rp5 = roots(p5)
rp5 =
1.
2.
3.
Comando
4.
5.
roots()
5
Método Gráfico:

Traçamos o gráfico e
através da manipulação
dos limites vemos onde
estão as raízes

6
Exemplo: Onde estão as raízes de
2
f ( x )= x −6x+ 25

São Complexas!
x’= 3+4i
x” = 3-4i
7
Definição de um polinômio por
suas raízes no Scilab
-->p2 = poly([3-%i*4,3+%i*4],"x","roots")
p2 =
2
25 - 6x + x

Porcentagem para
-->rp2 = roots(p2) indicar constantes
rp2 = especiais como:
%i, %pi, %e
3. + 4.i
3. - 4.i
8
-->a = 3+4*%i
a =
3. + 4.i
-->b=3-4*%i
Operações b =
3. - 4.i
com Números
-->a+b
Complexos no ans =
6.
Scilab: -->a-b
ans =
Operações 8.i
-->a*b
normalmente ans =
25.
-->a/b
ans =
- 0.28 + 0.96i
9
10
11
Vamos Fazer esses gráficos!
Gera vetor x que varia de -1
-->x = -1:0.02:1; a 1 em passo de 0.02
O ; no final faz com que os
T0 = 1; valores não apareçam
Chebyschev de ordem 0

Polinomio de
Chebyschev de
1a ordem
-->T1 = x;

-->plot(x,T1,'r')

COR da linha
‘RED’
12
Usando a Recursão:
O ponto “.” antes do operando indica que
deve ser elemento a elemento
-->T2 = 2.*x.*T1 - T0;

-->T3 = 2.*x.*T2 - T1;

-->T4 = 2.*x.*T3 - T2;

-->T5 = 2.*x.*T4 - T3;

-->T6 = 2.*x.*T5 - T4;


-->plot(x,T2,'y')

-->plot(x,T3,'g')

-->plot(x,T4,'b')
13
“Programme Files” in Scilab
• Open a text editor
• Write down the prompt commands there
• Save them as “filename.sce”
• Call it in the Scilab window at File/Execute
• Debug error messages if any
• Check (and correct) the programme
• Run it from Scilab/File/Execute

14
15
x
Gráfico de y( x)=tanh(sin (e ))
-->x = -4:0.01:4;

-->y = tanh(sin(exp(x)));

-->plot(x,y)

16
Exercício Avançado: Importanto
arquivos de medições, como do
Osciloscópio Digital (.CVS)
• Digite DIR<ENTER> no prompt  e verifique se
existem arquivos com formato .cvs (do tipo
TEK0000.CVS)
• Se houver: -->s1 = read_csv('tek0000.csv');

Na variável s1 estarão os dados


adquiridos em formato
Alfanumérico: precisa de conversão
• Digitando s1 deve aparecer parte do vetor
alfanumérico e saia digitando n
: seleciona todas as linhas, da
-->s1x = eval(s1(:,4)); coluna 4 para x e da coluna
5 para y.
-->s1y = eval(s1(:,5));
EVAL faz Alfanumérico
17 em
Numérico
Agora “PLOTAR”
--> plot(s1x,s1y)

18
Ouvindo Senóides...
// Escala Musical, 2º tom
// A B C D E F G
f = [440 493.88 523.25 587.33 659.26 698.46 783.99];
// Vetor de frequencias da Escala
t = 1:5013; // ¼ de segundo de tempo
do2 = sin(2*%pi*f(1)*t/22050); // 22050 Hz freq Windows
re2 = sin(2*%pi*f(2)*t/22050);
mi2 = sin(2*%pi*f(3)*t/22050);
fa2 = sin(2*%pi*f(4)*t/22050);
sol2 = sin(2*%pi*f(5)*t/22050);
la2 = sin(2*%pi*f(6)*t/22050);
si2 = sin(2*%pi*f(7)*t/22050);
escala = [do2 re2 mi2 fa2 sol2 la2 si2];
// vetor concatenado com todas as NOTAS
sound(escala);
// reproduzindo na freq do Windows 22050 Hz

19
Mudando o TOM
-->sound(escala,11025)

Um TOM abaixo,
-->sound(escala,44100) com
frequencia de
11025 Hz na
Um TOM acima, com reprodução
frequencia de 44100
Hz na reprodução

20
Gráficos com Barras de Erros
• Função errbar(x,y,ep,em)
Erro Positivo e Erro Negativo

-->t=1:20;
-->yt = cos(2*%pi*t/40);
-->clf
// apaga figura anterior
-->plot(t,yt)
-->errbar(t,yt,0.3,0.3)
// mostra as barras de erros
// erro positivo = 0.3
// erro negativo = 0.3

21
Exercícios para Casa
1) Siga a seqüência de comandos abaixo e relate o que
o Scilab executa:
x = 1:6
y = 1:0.2:2
z = 10:-1:5
xt = x'
sxy = x+y
pxy = x'*y
pesc_xy = x*y'
s = 1:3
subplot(2,2,1); plot2d2(s)
d = 3:-1:1
subplot(2,2,2); bar(d,'r')
sd = [s d]
subplot(2,2,3); plot(sd,'b*'); plot2d3(sd)
telhado = sd'*sd
subplot(2,2,4); mesh(telhado) 22
Exercícios para Casa (cont)
2) Leia os arquivos “tek0001.csv” e “tek0002.csv”, guardando-os nas
variáveis s1 e s2. (CUIDADO: Preste atenção nas componentes x
e y de cada sinal) Faça:
a) soma = s1y+s2y;
b) Sub = s1y+s2y;
c) plote os resultados usando subplot apresentando os sinais e as
combinações lineares

3) Leia o arquivo “tek0003.csv”, guardando-o em s3 (x e y).


Faça o gráfico de dispersão de 50 pontos de s3, por exemplo:
plot(s3x(500:550), s3y(500:550), “o”)

23

Вам также может понравиться