6 - EQUACOES-INEQUACOES-FUNCOES

557 days ago by jmarcellopereira

EQUAÇÕES, INEQUAÇÕES E FUNÇÕES

De acordo com o dicionario matemático disponível em "http://www.somatematica.com.br/dicionarioMatematico" temos que:

Equação: Expressão algébrica indicada por uma igualdade, onde há valores desconhecidos expressos por letras (incógnitas). Logo, todo conjunto de expressões no qual há uma igualdade cuja(s) incógita(s) satisfaçam a um conjunto limitado de soluções, então temos uma equação. Ex: x + 2 =0,  xy - 2x = 2, x^2 + y^2 = 2^2.

Inequação: Desigualdade verificada a determinado(s) valor(es) atribuídos à variável. Uma inequação é uma equação no qual há uma desigualdade do tipo <, >, >=, =< ou #. Ex: x + 2 > 0,xy - 2x < 2, x^2 + y^2 2^2

Função: É uma correspondência unívoca entre dois conjuntos em que a cada elemento do primeiro conjunto corresponde a um e somente um elemento do segundo. Dessa forma, temos que uma função é uma relação entre das variáveis, sendo uma dependente e outra independente. Ex: y(x) = x + 2, z = xy - 2x, f(x) = x^2 + y^2

 
       

EQUAÇÕES

Cálculo de uma expressão

O comando sage_eval("expressão", {"variável":valor}). Interpreta a expressão, como se fosse uma linha de programa do Octave. Se houver falha, avalia "expressão_em_caso_de_erro". O seguinte exemplo faz a variável a assumir o valor aproximado de pi.

reset() 
       
sage_eval('x^2 - 2*x + 0',{'x':4}) 
       
sage_eval('x^2 - 2*x + y',{'x':4,'y':2}) 
       
map(x^2 - 2*x + 0,range(0,3)) 
       
/usr/local/sage-6.9/local/lib/python2.7/site-packages/sage/all_notebook.\
py:3: DeprecationWarning: Substitution using function-call syntax and
unnamed arguments is deprecated and will be removed from a future
release of Sage; you can use named arguments instead, like EXPR(x=...,
y=...)
See http://trac.sagemath.org/5930 for details.
  """
/usr/local/sage-6.9/local/lib/python2.7/site-packages/sage/all_notebook.py:3: DeprecationWarning: Substitution using function-call syntax and unnamed arguments is deprecated and will be removed from a future release of Sage; you can use named arguments instead, like EXPR(x=..., y=...)
See http://trac.sagemath.org/5930 for details.
  """
map(x^2 - 2*x + 0,srange(0,3,0.5)) 
       
var ('y') map(x^2 - 2*x + y,srange(0,3,0.5),srange(0,3,0.5)) 
       
/usr/local/sage-6.9/local/lib/python2.7/site-packages/sage/all_notebook.\
py:5: DeprecationWarning: Substitution using function-call syntax and
unnamed arguments is deprecated and will be removed from a future
release of Sage; you can use named arguments instead, like EXPR(x=...,
y=...)
See http://trac.sagemath.org/5930 for details.
  import sys
/usr/local/sage-6.9/local/lib/python2.7/site-packages/sage/all_notebook.py:5: DeprecationWarning: Substitution using function-call syntax and unnamed arguments is deprecated and will be removed from a future release of Sage; you can use named arguments instead, like EXPR(x=..., y=...)
See http://trac.sagemath.org/5930 for details.
  import sys
A = matrix([[1,2],[3,4]]) f(x)=x^2 A.apply_map(f) 
       
(matrix([[1,2],[3,4]])).apply_map(x^2) 
       

INEQUAÇÕES

var('y') 
       
inq1 = x - 5*y < 0 inq2 = 2*x + 10 >=0 inq1 ; inq2 
       

type(inq1) ; type(inq2) 
       

FUNÇÕES 

Simbólicas

Sage só trabalha com expressões e funções matemáticas simbólicas. Tecnicamente, não precisamos definir explicitamente "x" como uma variável simbólica, porque SAGE assume que x é simbólico por padrão. No entanto, para usar uma variável diferente de "x" sem a atribuição simbólica var("variável"), é necessário usar a forma função(variável) = expressão variável. Isto porém só vai funcionar dentro da expressão, para usar a variável em outros cálculos, é necessário usar var("variável")

reset() 
       
f = x^2 + 1 f 
       
type(f) 
       
f(2); print(f(2)); show(f(2)) 
       

5
5

Atribuir um valor para "x" fora de "f(valor)" não vai alterar o valor de "f"

x = 2 f 
       

Para usar uma variável diferente de "x" sem a atribuição simbólica, é necessário usar a forma função(variável) = expressão variável.

g(t) = t+2*t^2 g; g(t) 
       

type(g); type(g(t)) 
       

g(2); print(g(2)); show(g(2)) 
       

10
10
# uso de uma variável nao declarada na forma var("variável") h = s+1 
       
Traceback (click to the left of this block for traceback)
...
NameError: name 's' is not defined
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "_sage_input_24.py", line 10, in <module>
    exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("IyB1c28gZGUgdW1hIHZhcmnDoXZlbCBuYW8gZGVjbGFyYWRhIG5hIGZvcm1hIHZhcigidmFyacOhdmVsIikKCmggPSBzKzE="),globals())+"\\n"); execfile(os.path.abspath("___code___.py"))
  File "", line 1, in <module>
    
  File "/tmp/tmpqTkjVs/___code___.py", line 4, in <module>
    exec compile(u'h = s+_sage_const_1 
  File "", line 1, in <module>
    
NameError: name 's' is not defined
# forma correta h(s) = s+1 h(2) 
       

Funções de variáveis declaradas simbólicas

reset() 
       
var('w') 
       
y = w + 2 y 
       
type(y) 
       
y(2) 
       

Atribuir um valor para "w" fora de "y(valor)" não vai alterar o valor de "y"

w = 3 y 
       

Função de variável simbólica atribuida diretamente sem o var()

s(t) = t + 2 s ; s(t) ; s() 
       


type(s) ; type(t) 
       

s(2) 
       

Atribuir um valor para "t" fora de "s(valor)" não vai alterar o valor de "s"

t = 3 s 
       

Funções de  mais de uma variável

reset() 
       
var('y') 
       
g = x + y; g 
       
g(2,1) 
       
f(x,y) = x + y; f 
       
f(2,3) 
       
f(u,v) = sin(u)*v f ; f(u,v) ; f() 
       


Função definida "def"

Calculo da área de um circulo

def area(raio): areaCirc = pi * raio^2 show('A área vale: ', n(areaCirc) ) 
       
area(2.4) 
       

Calculo das raizes de uma função polinomial do segundo grau utilizando a formula Bhaskara

def raiz(a,b,c): d=(b^2)-(4*a*c) if d<0: print('Delta negativo, raiz real impossivel de ser extraida.') else: print ('Delta: %f' % d) m1 = sqrt(d) x1 = (-b+m1)/(2*a) x2 = (-b-m1)/(2*a) show('Raiz X1 = %f' % x1) show('Raiz X2 = %f' % x2) 
       
raiz(2,2,-5) 
       
Delta: 44.000000

Delta: 44.000000

Série de Fibonacci

def fiboR_SG_NORMAL(n): if n < 2: return n else: return fiboR_SG_NORMAL(n-1) + fiboR_SG_NORMAL(n-2) 
       
%time fiboR_SG_NORMAL(35) 
       

CPU time: 9.98 s,  Wall time: 19.98 s
CPU time: 9.98 s,  Wall time: 19.98 s

Importando funções

Vá no menu dados e faça o upload do arquivo .py . Em seguida selecione a planilha que quer usar o arquivo. depois use:

# sem o '.py' import fiboR_SG 
       
Traceback (click to the left of this block for traceback)
...
ImportError: No module named fiboR_SG
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "_sage_input_49.py", line 10, in <module>
    exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("IyBzZW0gbyAnLnB5JwoKaW1wb3J0IGZpYm9SX1NH"),globals())+"\\n"); execfile(os.path.abspath("___code___.py"))
  File "", line 1, in <module>
    
  File "/tmp/tmpqSIkrP/___code___.py", line 4, in <module>
    exec compile(u'import fiboR_SG
  File "", line 1, in <module>
    
ImportError: No module named fiboR_SG
%time fiboR_SG.fiboR_SG(35) 
       
Traceback (click to the left of this block for traceback)
...
NameError: name 'fiboR_SG' is not defined
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "_sage_input_50.py", line 12, in <module>
    exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("Zmlib1JfU0cuZmlib1JfU0coMzUp"),globals())+"\\n"); execfile(os.path.abspath("___code___.py")); print "CPU time: %.2f s,  Wall time: %.2f s"%(cputime(__SAGE_t__), walltime(__SAGE_w__))
  File "", line 1, in <module>
    
  File "/tmp/tmpi8QK3O/___code___.py", line 3, in <module>
    exec compile(u'fiboR_SG.fiboR_SG(_sage_const_35 )
  File "", line 1, in <module>
    
NameError: name 'fiboR_SG' is not defined

Importando um arquivo.py rodando o SAGE a partir do computador local

use o comando load("endereço do arquivo/arquivo.py"). EX: load("/home/jmarcellopereira/fiboR_SG.py")

load('/home/jmarcellopereira/fiboR_SG.py') 
       
Traceback (click to the left of this block for traceback)
...
IOError: did not find file '/home/jmarcellopereira/fiboR_SG.py' to load
or attach
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "_sage_input_51.py", line 10, in <module>
    exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("bG9hZCgnL2hvbWUvam1hcmNlbGxvcGVyZWlyYS9maWJvUl9TRy5weScp"),globals())+"\\n"); execfile(os.path.abspath("___code___.py"))
  File "", line 1, in <module>
    
  File "/tmp/tmpfSpJ_l/___code___.py", line 2, in <module>
    exec compile(u"load('/home/jmarcellopereira/fiboR_SG.py')" + '\n', '', 'single')
  File "", line 1, in <module>
    
  File "sage/structure/sage_object.pyx", line 1018, in sage.structure.sage_object.load (/usr/local/sage-6.9/src/build/cythonized/sage/structure/sage_object.c:11434)
  File "/usr/local/sage-6.9/local/lib/python2.7/site-packages/sage/repl/load.py", line 263, in load
    raise IOError('did not find file %r to load or attach' % filename)
IOError: did not find file '/home/jmarcellopereira/fiboR_SG.py' to load or attach
%time fiboR_SG(33) 
       
Traceback (click to the left of this block for traceback)
...
NameError: name 'fiboR_SG' is not defined
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "_sage_input_52.py", line 12, in <module>
    exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("Zmlib1JfU0coMzMp"),globals())+"\\n"); execfile(os.path.abspath("___code___.py")); print "CPU time: %.2f s,  Wall time: %.2f s"%(cputime(__SAGE_t__), walltime(__SAGE_w__))
  File "", line 1, in <module>
    
  File "/tmp/tmpm8rPQ9/___code___.py", line 3, in <module>
    exec compile(u'fiboR_SG(_sage_const_33 )
  File "", line 1, in <module>
    
NameError: name 'fiboR_SG' is not defined
 
       

CALCULOS DIVERSOS COM EQUAÇÕES, INEQUAÇÕES E FUNÇÕES

Expansão dos termos de uma expressões

reset() 
       
y = (x-2)^4 * (x-3)^3; y 
       
expand(y); y.expand() 
       

Fatorização

y = x^7 - 17*x^6 + 123*x^5 - 491*x^4 + 1168*x^3 - 1656*x^2 + 1296*x - 432; y 
       
factor(y); y.factor() 
       

Frações parciais

fx(x) = (2*x^2 +3*x -1) / (x^2 - 3*x + 2); fx(x) 
       
fx.partial_fraction(x) 
       

Manipulações diversas

gx(x,y) = x*y^2 + sin(x)/sin(y) + x^5 - y^2 gx 
       
gx.numerator() 
       
gx.denominator() 
       
gx.normalize() 
       
gx.powers(3) 
       
 
       

Simplificação de expressões

simplify_full()simplify_trig()simplify_rational()simplify_rectform() simplify_factorial()simplify_log()simplify_real()simplify_hypergeometric()canonicalize_radical()

frac_fx = 13/(x-2) + -4/(x-1) +2; frac_fx 
       
frac_fx.simplify_full() 
       

Substituir variável por um valor ou outra variável 

Para substituir o valor de X na equação acima, utilizamos o comando subs(variável, variável_expressão, variavel/valor). Observe no exemplo 1, que a expressão de Y continua a mesma, só o valor de X que é alterado para o valor (2) e o cálculo é realizado (Y = 2). No exemplo 2, a variável X é alterada para W. E no exemplo 3, as variáveis X e W são substituídas por valores e outras variáveis

reset() 
       
y(x) = x^2-3*x+2 y 
       

Para substituir o valor de X na equação acima, utilizamos o comando var.subs(x = valor/variável). Observe no Exemplo 1, que a expressão de Y continua a mesma, só o valor de X que é alterado para o valor (0) e o cálculo é realizado (Y = 2). No exemplo 2, a variável X é alterada para W.  E no exemplo 3, as variáveis X e W são substituídas por valores e outras variáveis

Exemplo 1: substituição por um valor numérico

y y.subs(x=2); 
       

Exemplo 2:  substituição por uma variável

var('w') s(x=w) y_w; y 
       
Traceback (click to the left of this block for traceback)
...
NameError: name 's' is not defined
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "_sage_input_72.py", line 10, in <module>
    exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n" + _support_.preparse_worksheet_cell(base64.b64decode("dmFyKCd3JykKCnMoeD13KQoKeV93OyB5"),globals())+"\\n"); execfile(os.path.abspath("___code___.py"))
  File "", line 1, in <module>
    
  File "/tmp/tmpH2FlRJ/___code___.py", line 4, in <module>
    s(x=w)
NameError: name 's' is not defined

Exemplo 3: Para substituir mais de uma variável:

r(x,w) = x*w+2 r.subs(x=2,w=1) 
       
var('p,q') fpq = r.subs(x=p,w=q) fpq 
       

Resetar o valor da variável X e Y

reset('x,y') 
       

%%%% FIM EQUAÇÕES, INEQUAÇÕES E FUNÇÕES