CoCalc Public FilesFÍSICA-EXPERIMENTAL-2-EXE.ipynbOpen with one click!
Author: João Marcello Pereira
Views : 186
Compute Environment: Ubuntu 18.04 (Deprecated)

FÍSICA EXPERIMENTAL - 2020 - PARTE II

Carga Horária: 4h

Prof João Marcello Pereira ([email protected])

In [1]:
%display unicode_art

PROGRAMAÇÃO BÁSICA

A estrutura de programação do CoCalc é baseada em Python, com algumas diferenças quanto à sintaxe de alguns comandos.

ESTRUTURA DE DECISÃO

Condicional "SE" (IF)

In [2]:
# se x < y imprima "x menor que y", se x > y nada será feito
In [3]:
# se x < y imprima "x menor que y", senão imprima "x maior que y"

Codifique a função definida como: f(x) = {x2; x0x+1; x < 0.\begin{cases} x^2 &; ~ x \geq 0\\ x + 1 &; ~\text{x < 0}. \end{cases}

In [31]:
# se x < y imprima "x menor que y", senão se x > y imprima "x maior que y", senão imprima "x igual a y"

ESTRURA DE REPETIÇÃO

Repetição "PARA" (FOR)

In [26]:
# Aplicar um vetor à expressão y = (x^2 - 2) em um laço FOR para 10 valores reais
In [64]:
%%time # Método bruto de encontrar raízes de uma função sem otimização k = srange(0, 5, 0.00001) for x in k: if abs(sin(x)*x + 1 ) < 0.0001: show("Valor(y):", sin(x)*x + 1 ," . Raiz(x): ", x) print('fim')
Valor(y): 0.0000676888000875620 . Raiz(x): 3.43681000001405
Valor(y): 0.0000318979772357952 . Raiz(x): 3.43682000001405
Valor(y): -3.89293696634319e-6 . Raiz(x): 3.43683000001405
Valor(y): -0.0000396839425147455 . Raiz(x): 3.43684000001405
Valor(y): -0.0000754750394051928 . Raiz(x): 3.43685000001405
fim CPU times: user 5.22 s, sys: 114 ms, total: 5.33 s Wall time: 5.81 s

Repetição "ENQUANTO" (WHILE)

In [77]:
# Enquanto a variável a for menor que 10 print a + 1

FUNÇÃO

Função, de acordo com a definição matemática, é 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=xy2x,f(x)=x2+y2y(x) = x + 2, z = xy - 2x, f(x) = x^2 + y^2.

Para definir uma nova função no CoCalc de duas maneiras:

  • forma reduzida - utilizada de forma semelhante a definição matemática de função. função_nome(argumento) = código.

  • def - use o comando def e dois pontos após a lista de nomes das variáveis. Em Python, blocos de código não são indicados por colchetes ou blocos de início e fim, como em outras linguagens. Em vez disso, blocos de código são indicados por identação, que devem estar alinhadas exatamente.

In [40]:
# Função cálculo área do circulo
In [41]:
# Calculo da área para r = 5
In [19]:
# Calculo da área para r = 5 numérico
In [24]:
# Função área do circulo simplificada
In [25]:
# Calculo da área para r = 5
In [81]:
# Calculo da área para r = 5 numérico

GRÁFICOS 2D E 3D

In [ ]:
# resetar variáveis
In [2]:
# dados x_dados = [0.0, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0] y_dados = [0.0, 0.5, 0.84, 1.0, 0.91, 0.6, 0.14, -0.35, -0.76, -0.98] len(x_dados) == len(y_dados)
True
In [3]:
# montar os pares ordenados dados = zip(x_dados, y_dados)
In [4]:
# gráfico pontos discretos point(dados)
In [ ]:
# gráfico espalhamento
In [ ]:
# gráfico melhorado com axes_labels = ['x','y'], gridlines = "minor", figsize = (5, 4)
In [ ]:
# Funções f1(x) = sin(x)*x e f2(x) = cos(x)
In [13]:
# Gráfico funções f1 e f2 plot(f1(x), (x, -10, 10), legend_label = 'y(x)') + plot(f2(x), (x, -10,10), color = 'red', legend_label = 'y(x)')
In [14]:
# Gráfico funções f1 e f2 com preenchimento plot(f1(x), (x, -10, 10), legend_label = 'y(x)') + plot(f2(x), (x, -10,10), color = 'red', legend_label = 'y(x)', fill = 'axis')
In [18]:
# Gráfico funções f1 e f2 com pontos em destaque plot(f1(x), (x, -10, 10), legend_label = 'y(x)') + point([(1,f1(1)), (2, f1(2))])
In [82]:
# Gráfico 3d f(x, y) = cos(y^2 + x^2)*x^2 + sin(x^2) com color = 'green', mesh = True, aspect_ratio = 1, spin = 30

RAÍZES

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,xy2x=2,x2+y2=22x + 2 =0, xy - 2x = 2, x^2 + y^2 = 2^2.

In [83]:
# Função f4(x) x^2 - 2*x - 3
In [84]:
# gráfico da função f4(x) com axes_labels = ['x','y'], color = "red", gridlines = "minor", figsize = (4, 3)
In [4]:
# resolvendo f4(x) = 0
In [85]:
# somente a segunda raiz
In [45]:
# Gráfico de f5(x) = x^2 - 3*x + cos(4*x) com axes_labels = ['x','y'], color = "red", gridlines = "minor", figsize = (4, 3)
In [40]:
# raízes de f5(x)
In [43]:
# método numérico para f5
In [47]:
# mínimo local
In [48]:
# máximo local
In [86]:
# resetar variáveis

Sistemas Equações Lineares

In [19]:
# Sistemas de Equações Lineares eq1 e eq2
In [88]:
# Gráfico implícito de eq1 e eq2 com axes_labels = ['x','y'] e gridlines = 'minor'
In [90]:
# Solução do sistema

Sistemas Equações Não Lineares

 { y2+8x=0x28y=2 ~ \begin{cases} \ y^2 + 8x = 0\\ -x^2 -8y = 2 \end{cases} ~

In [91]:
# definir eq3(x, y) = y^2 + 8*x e eq4(x, y) = -x^2 -8*y -2
In [92]:
# Gráfico implícito com color = 'red', axes_labels = ['x','y'] e gridlines = 'minor'
In [93]:
# Solução solnl
In [75]:
# solução de y do primeiro conjunto solução
In [59]:
# somente a parte numérica de y

FIM