SECITEC - 2019 - PARTE I
A Semana da Ciência e Tecnologia – SECITEC é o evento anual científico oficial do Campus Luzerna do Instituto Federal Catarinense, realizada a partir de 2012 como plataforma para divulgação da produção científica de seus alunos e professores.
Carga Horária: 4h
Prof João Marcello Pereira ([email protected])
Link para a parte II : https://share.cocalc.com/share/288b42254a96ffdde0f1a05c9a87e715f5d893b3/SECITEC-2019-PARTE-2-EXE.ipynb?viewer=share
Link para a parte III: https://share.cocalc.com/share/c36feb3553f76b64163a3d568ce5cd9c2081ed71/SECITEC-2019-PARTE-3-EXE.ipynb?viewer=share
INTRODUÇÃO
O CoCalc ("Collaborative Calculation in the cloud") é um sofisticado ambiente on-line colaborativo para cálculo matemático, estatística e ciência de dados, autoria de documentos e computação de propósito geral de código fonte aberto, executado sobre o sistema operacional Ubuntu 18.04.3 LTS e liberado sob a licença GNU Affero General Public License versão 3+. Foi criado em maio de 2017 pelo professor de matemática da Universidade de Washington, William Stein, como uma remodelagem do projeto SageMath Cloud (Versão Web do SageMath para desktop) lançado em abril de 2013. O SageMath é um software matemático livre e de código aberto (open source), desenvolvido sob a licença GPL por uma comunidade de programadores e matemáticos. De acordo com os seus desenvolvedores, o objetivos do SageMath é ser uma alternativa aos principais sistemas proprietários de software matemático como o Magma ® , Maple ® , Mathematica ® e Matlab ® (THE SAGE GROUP, 2017), compatível com Windows ® , MacOS ® e Linux. Entre as características do CoCalc, podemos destacar:
Interface gráfica compatível com vários navegadores.
Interpretador de comandos baseado no IPython.
Computação paralela, usando processadores multinúcleo, multiprocessamento simétrico e computação distribuída.
Cálculo simbólico com Maxima e SymPy.
Álgebra linear numérica, utilizando GNU Scientific Library, SciPy, NumPy e Julia.
Bibliotecas de funções elementares e especiais.
Gráficos 2D e 3D de funções simbólicas e dados numéricos.
Manipulação de matrizes, incluindo matrizes esparsas.
Bibliotecas de estatísticas multivariáveis, usando R e SciPy.
Ferramentas para o processamento de imagens, usando Pylab e Python.
Bibliotecas para funções de teoria dos números.
Filtros para importação e exportação de dados, imagens, vídeo, áudio, CAD e GIS.
Suporte para números complexos, aritmética de precisão arbitrária e matemática simbólica.
MoinMoin para gerar conteúdo do tipo Wiki.
Criação de documentação (Sphinx).
Interface para alguns softwares proprietários, como o Mathematica, Magma e Maple.
Compartilhamento de projetos e construção de salas de aulas virtuais.
A cronologia do projeto é visualizada na figura abaixo:
COMANDOS BÁSICOS E MATEMÁTICA BÁSICA
COMO USAR OS COMANDOS DO COCALC
Os comandos da linguagem CoCalc são muito parecidos com os comandos do MatLab/Python, porém, não há a necessidade de terminar um comando com o " ; ". Vejamos alguns pontos interessantes:
Ponto e virgula ao final do comando oculta o resultado;
Comentários são iniciados com #
CoCalc é "Case-Sensitive" F e f são diferentes;
Não é necessário digitar todo o comando/função, basta digitar uma parte da comando/função e teclar TAB para completar.
TAB também mostra outros comandos/Funções associados ao objeto, basta utilizar "OBJETO.<TAB>"
Textos em Latex podem ser inseridos em células do tipo "Code" do Jupyter na forma $Latex$
Sempre verifique o status da CPU e memória do projeto. Caso ultrapasse o limite do projeto ou apresente instabilidade, execute um reload da página ou restart kernel.
Comandos preliminares
Matemática Básica
Operação Matemática |
Sintaxe CoCalc |
Exemplo |
Resultado |
Valor Absoluto de |
abs( x ) |
abs( -2 ) |
2 |
Raiz quadrada |
sqrt( x ) |
sqrt(225) |
15 |
Raíz de ordem |
x**( 1/n ) ou x^( 1/n ) |
8^( 1/ 3 ) |
2 |
Exponencial na Base |
exp( x ) |
exp( 2 ) |
e^2 |
Logaritmo Natural de |
ln( x ) |
ln( e ) |
1 |
Logaritmo de na Base |
log( x , b ) |
log( 1024,2 ) |
10 |
Seno de x | sin( x ) | sin( pi ) | 1 |
Cosseno de x | cos( x ) | cos( pi/2 ) | 0 |
Tangente de x | tan( x ) | tan( 3*pi/4 ) | -1 |
Secante de x | sec( x ) | sec( pi/3 ) | 2 |
Cosecante de x | csc( x ) | csc( pi/3 ) |
2/3*sqrt(3) |
Cotangente | cot ( x ) | cot( pi/3 ) | 1/3*sqrt(3) |
Coeficiente Binomial de sobre |
binomial( n, r ) |
binomial( 5, 2 ) |
10 |
Fatorial de |
factorial( n ) |
factorial( 5 ) |
120 |
Fatoração de primo de |
factor( n ) |
factor( 12 ) |
2^2*3 |
MDC de e |
gcd( a, b) |
gcd( 12, 16 ) |
4 |
Valor Máximo |
max( x,y,z w,... ) |
max( 1, 2.7, 4.8 ) |
4.8 |
Valor Mínimo |
min( x,y,z w,... ) |
min( 1, 2.7, 4.8 ) |
2.7 |
Menor Inteiro maior ou igual a |
ceil( x ) |
ceil( 1.4 ) |
2 |
Maior Inteiro menor ou igual a |
floor( x ) |
floor( pi ) |
3 |
Inteiro mais próximo ou igual a |
round( x ) |
round( 2.8456 ) |
3 |
Parte inteira |
int( x ) |
Int ( 2.8456 ) |
2 |
Número aleatório maior ou igual a zero e menor que 1 |
random() |
random() |
0.7311469958220904 |
Número inteiro aleatório em |
randint( a , b ) |
randint(1, 100 ) |
46 |
Cálculo trigonometrico/Hiperbólico
sin(x) cos(x) tan(x) cot(x) sec(x) csc(x)
sinh(x) cosh(x) tanh(x) coth(x) sech(x) csch(x)
asin(x) acos(x) atan(x) acot(x) asec(x) acsc(x) acoth(x) asech(x) acsch(x)
Cálculo Logaritmo
Memória Células
Cálculo anteior
Calcular o tempo de processamento
Precisão Numérica
Comandos de impressão
latex
cole o texto aqui
Variáveis
O Python é uma linguagem de tipagem dinâmica, dessa form uma variável possui um valor associado enquanto durar o processamento e pode variar em tempo e execução. Para associar o valor a uma variável, basta utilizar "=". Para eliminar o valor de uma variável, use reset() para todas as variáveis ou reset('var1, var2...') para variáveis específicas.
Strings
Strings são seqüências de caracteres, sejam eles letras, números, espaços, caracteres especiais, e etc., e assim como os tipos numéricos vistos anteriormente, strings também são imutáveis. Strings podem ser delimitadas por aspas simples, duplas ou triplas.
s t r i n g
0 1 2 3 4 5
Listas
Uma lista é uma coleção de elementos.
[Elemento 1, Elemento 2, Elemento 3, Elemento 4, Elemento 5, ..., Elemento n]
Sequencias
Uma sequencia é uma lista na forma sequencial na forma de numeros inteiros ou decimais (ponto flutuante) dada pelo comando range. Os comandos vistos (append, remove, ...) também valem para range
Lista aninhada. Formatação da lista como matriz
Lista = [ a1, a2, a3, ... , an] sendo a1, a2, a3, ... , an elementos únicos ou outra lista, matriz, etc.
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-26-3b6a7dc6f3dd> in <module>()
2
3 l1 = [[Integer(4),Integer(5)], (Integer(8),Integer(9)), Integer(6)]
----> 4 l1[Integer(1),Integer(0)]
TypeError: list indices must be integers, not tuple
Vetores
Matrizes
FIM