Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
| Download

All published worksheets from http://sagenb.org

Views: 168756
Image: ubuntu2004
# NEUMARA BENDER
# 10 Operações com Matrizes
from pylab import * from numpy import * a = np.array([[1,8,3], [4,7,6], [4,6,3]], dtype=int) np.reshape(a, 9) # Converte "a" numa matriz linha de 9 termos.
array([1, 8, 3, 4, 7, 6, 4, 6, 3])
x = np.arange(12,dtype=int).reshape((4,3)) # Cria uma matriz de 12 termos com 4 linhas e 3 colunas. x
array([[ 0, 1, 2], [ 3, 4, 5], [ 6, 7, 8], [ 9, 10, 11]])
np.transpose(x) # Calcula a transporta de "x".
array([[ 0, 3, 6, 9], [ 1, 4, 7, 10], [ 2, 5, 8, 11]])
np.empty([2, 3], dtype=int) # Matriz 2x3 a partir de dados aleatórios
array([[ 140345739205232, 140345739205232, 6076814207655833189], [4064063759608446982, 40252951599, 140342351364106]])
y = np.ones((1, 2, 3)) np.transpose(y, (1, 0, 2)).shape
(2, 1, 3)
r = np.random.randn(24).reshape([6,4]) # Matriz randômica com vinte e quatro elementos no formato 6x4 r
array([[-1.86763928, 0.06611508, -0.70696223, -1.57011909], [-2.6048004 , -0.02296049, 2.48178098, -1.48674994], [-0.57287407, 0.09351523, -0.9505674 , 0.92918539], [-0.01994241, -1.08288031, 1.25737767, -1.75824755], [-0.58789104, -1.08803748, 0.85127016, 0.70650307], [ 0.97239991, -0.95613498, 0.51639672, -0.90525629]])
np.identity(3) # Cria uma matriz identidade no formato 3x3
array([[ 1., 0., 0.], [ 0., 1., 0.], [ 0., 0., 1.]])
w = np.arange(9.0, dtype=int).reshape(3,3) np.atleast_1d(w)
array([[0, 1, 2], [3, 4, 5], [6, 7, 8]])
np.amin(r) # Valor mínimo contido na matriz r
-2.604800399439009
np.amax(r) # Valor máximo contido na matriz r
2.4817809766869057
np.linspace(3.0, 7.0, num=15) # Cria um vetor variando de 3 a 7, com 12 termos.
array([3.00000000000000, 3.28571428571429, 3.57142857142857, 3.85714285714286, 4.14285714285714, 4.42857142857143, 4.71428571428571, 5.00000000000000, 5.28571428571429, 5.57142857142857, 5.85714285714286, 6.14285714285714, 6.42857142857143, 6.71428571428571, 7.00000000000000], dtype=object)
# 5 Operações com Álgebra Linear
clf a = np.array([1,2,4]) b = np.array([2,7,-5]) np.inner(a, b) # Produto interno entre dois vetores.
-4
c = np.random.randn(16).reshape([4,4]) np.linalg.inv(c) # Calculando a matriz inversa de "c".
array([[ 0.23941952, -0.39658222, -0.71387601, 0.22634467], [-0.42883284, -1.50288163, -3.9878694 , -0.71320288], [ 0.25674966, 0.85087881, 3.89128343, 0.92865774], [-0.02264783, -1.19770966, -3.23096745, -1.03933676]])
np.linalg.det(c) # Calcula o determinante da matriz "c".
-0.29119710193684073
a = np.array([[-3,4],[2,5]]) b = ([6,-1]) np.linalg.solve(a, b) # Resolve a equação ax=b, para x.
array([-1.47826087, 0.39130435])
linalg.eigvals(c) # Auto-valores de "c".
array([ 2.25726302+0.j , -1.23770045+0.50100542j, -1.23770045-0.50100542j, 0.39465231+0.j ])
linalg.eig(c)
(array([ 2.25726302+0.j , -1.23770045+0.50100542j, -1.23770045-0.50100542j, 0.39465231+0.j ]), array([[-0.92967505+0.j , -0.15786118+0.14733977j, -0.15786118-0.14733977j, -0.15243047+0.j ], [ 0.00270514+0.j , 0.38846953+0.33742264j, 0.38846953-0.33742264j, -0.58173966+0.j ], [ 0.15815192+0.j , -0.22791437-0.05689478j, -0.22791437+0.05689478j, 0.68021686+0.j ], [-0.33269348+0.j , 0.79588080+0.j , 0.79588080+0.j , -0.41910494+0.j ]]))
# 3 Operações Estatísticas
x = np.random.randn(30) # Matriz randômica com 30 valores. x
array([-0.72778495, 0.04858392, 0.18169476, -0.95022367, -1.0885176 , -1.55981017, 0.61890852, 1.04087485, -1.26083925, 1.83973163, -1.13155836, 0.15161626, 0.07078829, -0.21392541, -0.47952489, -0.26576574, -1.25032193, -0.4311207 , -1.46941123, 0.43579619, 0.1467286 , -0.9062154 , 1.46742355, -0.15687831, 0.206454 , 0.29625923, -0.75101187, -1.35144911, 0.49073506, 0.33983192])
shuffle(x) # x
array([-0.26576574, -1.26083925, -1.35144911, 1.83973163, 0.29625923, 0.15161626, -1.25032193, -1.55981017, 0.49073506, 1.46742355, -0.95022367, 0.33983192, 0.04858392, -0.4311207 , -1.46941123, -0.75101187, -0.15687831, 0.43579619, -1.0885176 , -0.9062154 , -1.13155836, 0.61890852, 0.07078829, 1.04087485, -0.21392541, 0.206454 , -0.72778495, -0.47952489, 0.18169476, 0.1467286 ])
average(x) # Calcula a média dos valores de "x".
-0.22196439368509838
np.mean(x) # Média
-0.22196439368509838
np.var(x) # Variancia
0.72331498643150438
np.median(x) # Mediana
-0.18540185625446959
np.std(x) # Desvio Padrão
0.85047926866649981
# 3 Funções Trigonométricas
seno = np.sin(x) # Seno dos valores da matriz "x" seno
array([-0.99247985, -0.98593783, 0.39604642, 0.97481826, -0.81962671, 0.82542391, -0.64488192, 0.99399839, 0.89657327, -0.61067367, 0.30122724, -0.95776001, -0.7949003 , 0.87147237, 0.00635492, 0.56043883, 0.654996 , -0.53156926, 0.82795983, -0.18540582, -0.33175613, 0.99991831, 0.39299932, 0.93774436, -0.98886491, -0.84761679, 0.85979877, 0.726445 , -0.99047795, 0.92653554])
clf() y = linspace(-2*pi, 2*pi, 100) plot(y, sin(y)) ylabel('seno(y)') xlabel('y') savefig('Func_seno')
clf() y = linspace(-2*pi, 2*pi, 100) plot(y, cos(y)) ylabel('cosseno(y)') xlabel('y') savefig('func_cos')
clf() y = linspace(-2*pi, 2*pi, 100) plot(y, tan(y)) ylabel('tangente(y)') xlabel('y') savefig('Func_tang')
# 4 Exemplos com Polinômios (polyfit)
pol1 = poly1d([1,4,-7]) # Polinômio de primeiro grau print poly1d(pol1)
2 1 x + 4 x - 7
roots(pol1) # Calcula as raízes do polinômio
array([-5.31662479, 1.31662479])
pol1(26) # Calcula o valor do polinômio quando x é 26.
773