Funções & Relações
0. Códigos
1. Relações, Domínios & Limites 2. Funções & Relações
3. Funções como Tabelas 4. Funções como Fórmulas
Estudaremos a definição de uma função e a conexão com suas relações, domínio e limites, visões algébricas e numéricas de funções.
[Instruções: Execute primeiramente a seção de recursos dos códigos. Apesar de nenhum resultado ser apresentado imediatamente, estas definições serão usadas posteriormente nesta área de trabalho]
0. Códigos
> restart; with(plots):
Warning, the name changecoords has been redefined
> Dominio := proc( SET ) local domain, k;
domain := {};
for k from 1 to nops(SET) do
domain := domain union {SET[k][1]};
od:
domain;
end proc:
> Alcance := proc( SET ) local range, k;
range := {};
for k from 1 to nops(SET) do range := range union {SET[k][2]};
od:
range;
end proc:
1. Relações, Domínios & Limites
Uma relação é um par de valores. Uma função é um tipo especial de relação onde o primeiro item só tem um segundo item equivalente.
> cores de frutas := {[maçã,vermelho],[banana,amarelo],[kiwi,verde], [cereja,vermelho],[limão,amarelo],[pera,verde]};
_ _ : , , , ,
, , , , lim , ,
,
cores de frutas maça vermelho banana amarelo kiwi verde cereja vermelho ão amrelo
pera verde
O primeiro elemento de cada par é uma fruta e o segundo elemento é a cor da fruta. O conjunto de todas as frutas é o domínio da relação e o conjunto de cores é o limite.
> Dominio(fruity_colors);
fruity colors _ 1
1
> Alcance(fruity_colors);
fruity colors _ 1
2
Vejamos mais alguns exemplos:
> Times de Futebol := { [Rio de Janeiro, Flamengo], [São Paulo, Santos], [Belo Horizonte, Cruzeiro],
[Porto Alegre,Gremio],[Bahia,Vitória] };
`\n domínio `= Dominio(%);
`\n alcance ` = Alcance(%%);
Error, missing operator or `;`
> Comidas típicas := { [America, cachorro-quente], [Mexico, Taco], [Japão, Sushi], [India,Naan],[Oriente_Médio,felafel],
[Brasil,Bife com Fritas] };
`\n domínio `= Dominio(%);
`\n alcance ` = Alcance(%%);
Error, missing operator or `;`
Logicamente, também podemos ter relações com números:
> arrumando_números := { seq([k, k^2], k = 1..9) };
`\n domínio `= Dominio(%);
`\n alcance ` = Alcance(%%);
_ : 1,1 , 2, 4 , 3,9 , 4,16 , 5, 25 , 6,36 , 7, 49 , 8, 64 , 9,81 amarrando números
1, 2,3,4,5,6,7,8,9
domínio
1,4,9,16, 25,36, 49,64,81
alcance
> arrumando_números := { seq([(k-2)^2, (k-4)^2], k = 1..7) };
`\n domínio `= Dominio(%);
`\n alcance ` = Alcance(%%);
_ : 1,1 , 1,9 , 0, 4 , 4,0 , 9,1 , 16, 4 , 25,9 amarrando números
0,1, 4,9,16,25
domínio
0,1,4,9
alcance
2. Funções & Relações
Uma relação é qualquer par de valores. Uma função é um tipo especial de correspondência (relação) onde cada item selecionado num lado possui uma só relação com o segundo lado. O conjunto de cores das frutas é uma função porque para cada fruta está associado somente uma cor - mesmo que alguma fruta tenha a mesma cor de outra fruta.
> cores_de_fruta := { [maçã,vermelho],[banana,amarelo],[kiwi,verde], [cereja,vermelho],[limão,amarelo],[pera,verde]};
`\n domínio `= Dominio(%);
`\n alcance ` = Alcance(%%);
_ _ : , , , ,
, , , , lim , ,
,
cores de frutas maça vermelho banana amarelo kiwi verde cereja vermelho ão amrelo
pera verde
, , , ,lim ,
domínio maça banana kiwi cereja ão pera
, ,
alcance amrelo verde vermelho
No próximo caso, estudaremos quando alguns dos valores do domínio têm mais do que um valor de alcance. Logo isso NÃO é uma função.
> Países e cidades := { [Canada, Toronto], [Canada, Montreal], [EUA, Nova_York],[ EUA, Los_Angeles], [Mexico, Guadalajara], [Japão, Osaka], [ Japão, Tokyo], [Russia, Moscou], [India, Bombay],[India, Delhi]};
`\n domínio `= Dominio(%);
`\n alcance ` = Alcance(%%);
_ _ : , , , , , _ ,
, _ , , , , ,
, , , , ,
Países e cidades Canadá Toronto Canadá Montreal EUA Nova York EUA Los Angeles México Guadalajara Japão Tokyo
Rússia Moscou India Bombay India Delhil
, , , , ,
domínio Canadá México Japão Rússia India EUA
, _ , , , ,
, , ,
alcance Montreal Nova Angeles Guadalajara Toronto Osaka Tokyo Moscou Bombay Delhil
Observe bem esses conjuntos de números. No primeiro conjunto, cada valor de x tem apenas um valor de y. Mas isso não acontece no segundo exemplo. Uma função é uma relação pela qual cada membro do domínio está apenas associado a um membro do limite. Logo, o primeiro conjunto é uma função, enquanto o segundo não é.
> ajustando números := { seq([k, k^2], k = 1..9) };
`\n domínio `= Dominio(%);
`\n alcance ` = Alcance(%%);
tan _ : 1,1 , 2,4 , 3,9 , 4,16 , 2, 25 , 6,36 , 7, 49 , 8, 64 , 9,81 1, 2,3, 4,5,6,7,8,9
1,4,9,16,25,36, 49,64,81 ajus do números
domínio alcance
> ajustando números := { seq([(k-3)^2, (k-5)^2], k = 1..7) };
`\n domínio `= Dominio(%);
`\n alcance ` = Alcance(%%);
tan _ : 1,1 , 4,16 , 1,9 , 0, 4 , 4,0 , 9,1 , 16, 4 0,1, 4,9,16
0,1, 4,9,16 ajus do números domínio
alcance
3. Funções como Tabelas
Funções também podem ser expressas como tabelas de valores. Os valores de x do domínio estão à esquerda e os valores de y do limite estão à direita.
> restart:
> f:= x -> 100-x^2:
array( [[ k,f(k) ] $ k = 0..8] );
0 1 00
1 99
2 96
3 91
4 84
5 75
6 64
7 51
8 36
> f:= x -> 2*floor(x/2): array( [[ k,f(k) ] $ k = 0..8] );0 0
1 0
2 2
3 2
4 4
5 4
6 6
7 6
8 8
> f:= x -> 2^x + 1; array( [[ k, f(k)] $ k = 1..8] );: 2 1 1 3
2 5 3 9 4 1 7 5 33 6 65 7 1 29 8 257 f x
x
Os valores não são necessariamente números inteiros.
> f:= x -> :
array( [[ k,f(k) ] $ k = 0..8] );
Error, `:` unexpected
> f:= x -> evalf(sin(Pi/(x+3))):
array( [[ k, f(k)] $ k = 1..8] );
1 0.7071067813 2 0.5877852524 3 0.5000000002 4 0.4338837393 5 0.3826834325 6 0.3420201433 7 0.3090169944 8 0.2817325569
4. Funções como Fórmulas
A maioria das funções que veremos, por enquanto, podem ser expressas em algum tipo de fórmula.
Nesses casos, há uma entrada , x, e um resultado f(x). Para o valor de x, há um valor correspondente f(x).
> f := x -> 3*x^2 -10*x + 21;
`f(0)` = f(0);
`f(1)` = f(1);
`f(-1)` = f(-1);
`f(10)` = f(10);
`f(100)` = f(100);
`f(10000)` = f(10000);
: 3
210 21
(0) 21 (1) 14 ( 1) 34 (10) 221 (100) 29021
(10000) 299900021
f x x
f f f f f f
Funções apresentam-se em todos os tamanhos e formas.
> f := x -> (x^2 + 11)/(3*x^2 - 9);
`f(0)` = f(0);
`f(1)` = f(1);
`f(-1)` = f(-1);
`f(10)` = f(10);
`f(100)` = f(100);
`f(10000)` = f(10000);
2 2
: 11
3 9
(0) 11 9 (1) 2 ( 1) 2 (10) 37
97 (100) 3337
9997 33333337 (10000)
99999997 f x x
x f f f f f f
> f := x -> x - 3/(x^2 + 3);
`f(0)` = f(0);
`f(1)` = f(1);
`f(-1)` = f(-1);
`f(10)` = f(10);
`f(100)` = f(100);
`f(10000)` = f(10000);
2
: 3
3 (0) 1 (1) 1
4 ( 1) 7
4 (10) 2027
103 1000297 (100)
10003
1000000029997 (10000)
100000003
f x x
x f f f f f f
As funções também podem representar fórmulas científicas assim como funções matemáticas abstratas.
> Graus centígrados := F -> (5/9)*(F-32);
Graus centígrados(0); Graus centígrados( 212);
5 160
:
9 9
160 9 1 00
Graus centígrados F F
> Metro 2 Centímetro := Metro -> Centímetro * 100;
Metro 2 Centímetro(1); Metro 2 Centímetro(2.5);
Metro 2 Centímetro(6);
2 : 100 1 00
1 00 1 00
Metro Centímetro Metro Centímetro Centímetro
Centímetro Centímetro
> Gramas 2Kg := gramas -> gramas*1000;
Gramas 2Kg(3000); Gramas 2Kg(10);
2 : 100
3000000 1 0000
Gramas Kg Gramas Gramas
Perceba que funções também podem ser avaliadas como constantes:
> f := x -> (x+3)/(x-5);
f(6); f(15); f(Q); f(qualquer valor);
: 3
5 9
9 5 3
5
_ 3
_ 5
f x x x
Q Q qualquer valor qualquer valor
> f := x -> 100*x^3 + 2000*x + 3000;
f(6); f(15); f(Q); f(qualquer valor);
3
3 3