python numpy sympy 数学関連コード

from math import *
print(sin(pi))
import sympy
sympy.var('x y')
f = sympy.log(x) + sympy.log(y)
print(sympy.logcombine(f, force=True)) 
g = y*sympy.log(x)
print(sympy.logcombine(g, force=True))
h = sympy.log(x) / sympy.log(y)
print(sympy.logcombine(h,force=True))
s = {1, 2, 3, 1, 2, 1, 2, 3, 2, 2, 2, 2, 2}
print(s)  # {1, 2, 3} 
print(type(s))  # <class 'set'> 

s = {'a', 'c', 'b'}
print(s)  # {'b', 'a', 'c'} 
print(type(s))  # <class 'set'> 

s = {'a', 'b', 'b','c'}
print(s)  # {'b', 'a', 'c'}  classに重複はゆるされない
print(type(s))  # <class 'set'> 

#なぜか出力するたびに値が変わる。(要調査)

#要素を足したり減らしたりする。
s = {1, 2, 3}
s.add(4)
print(s)

s.remove(2)
print(s)
#要素をまとめて書く方法もある
A = set('abc')#{'a', 'b', 'c'}
B = set('bdce')#{'b', 'd', 'e', 'c'}
print(A)
print(B)

A = set('abc')
B = set('bdce')
print(A|B)#和集合AUB
print(A&B)#積集合AnB
print(A-B)#差集合
print(B-A)#差集合

#内包表記による集合の書き方
C={x for x in range(201)}
D={y*2 for y in range(101)}
print(C-D)
import sympy
sympy.var('x')#xをシンボリック変数として定義
fu=2*x**3+4*x**2+x
#sympy.init_printing#()これはjupiter notebookのみ
sympy.diff(fu)
print(sympy.diff(fu))

fu1=sympy.sin(x)
fu2=sympy.cos(x)
fu3=sympy.tan(x)

print(sympy.diff(fu1))
print(type(sympy.diff(fu2)))
print(sympy.diff(fu3))

fu4=sympy.exp(x)
fu5=sympy.log(x)
print(sympy.diff(fu4))
print(sympy.diff(fu5))
import sympy
sympy.var('x')
sympy.init_printing()
print(sympy.integrate(x))
print(sympy.integrate(sympy.cos(x)))
print(sympy.integrate(sympy.exp(x)))

print(sympy.integrate(x,(x,0,10)))
print(sympy.integrate(sympy.sin(x),(x,0,sympy.pi)))
print(sympy.integrate(sympy.exp(x),(x,0,10)))

print(sympy.integrate(x**3.5))
t = range(10)
print(t[0])  # 0 
print(t[9])  # 9 
print(t)
print(list(t))  # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] が出力

t = range(1, 10, 2)
print(list(t))

t = range(1, 10, 3)
print(list(t))  # [1, 4, 7] が
print(sum(t))

import numpy
#t = numpy.arange(初項, 最大値, 公差)
t = numpy.arange(0.5, 3, 0.5)
tt = numpy.arange(0.5, 3, 0.5).sum()
print(list(t))
print(tt)

t = numpy.linspace(0, 10, 10)
tt = numpy.linspace(0, 10, 10).sum()
print(list(t))
print(tt)
import numpy
a = numpy.array([5, 12])
print(numpy.linalg.norm(a))  

b = numpy.array([3, 4, 12])
print(numpy.linalg.norm(b))  

#和、差、実数倍
a = numpy.array([3, 4])
b = numpy.array([2, 3])
print(a+b)  # [5 7] 
print(a-b)  # [1 1] 
print(0.5*a)  # [1.5 2. ]
print(-3*b)  # [-6 -9] 

#内積
a = numpy.array([5, 3])
b = numpy.array([4, 3])
print(numpy.dot(a, b))  # 29 

c = numpy.array([1, 2, 3])
d = numpy.array([2, 4, 6])
print(numpy.dot(c, d))  # 28

#外積
a = numpy.array([1, 1, 2])
b = numpy.array([-1, 0, 2])
print(numpy.cross(a, b))  # [ 2 -4  2] が出力

a = numpy.array([1, 0, 0])  
b = numpy.array([0, 0, 1])  
print(numpy.cross(a, b))  # [0 -1 0] 
import numpy
B = numpy.array([[7, 8, 9],[4, 5, 6],[1, 2, 3]])
print(B)
print(B[1,2])#Bというコンストラクタに対して、[1,2]モジュールで調べている
print(B[1])
print(B[1][2])#B[1]というコンストラクタに対して、[2]モジュールで調べている

print(B.shape)
print(B[1].shape)
print(B[1,2].shape)
print(B[1][2].shape)


print(B.size)
print(B[1].size)
print(B[1,2].size)
print(B[1][2].size)

#逆行列
numpy.linalg.inv(B)

コメント

タイトルとURLをコピーしました