🏠
什和7幎2月19日 氎

pythonパむ゜ン


colabの抂芁

colab は、googleのpythonプラットフォヌムです。


アプリの利甚

è¡š   1 アプリの皮類
皮類䟋説明
文曞䜜成 ワヌプロ deepl

論文や 報告曞、あるいはそれらの 芁旚などの 文曞を䜜成、印刷するアプリです。 1 )

衚蚈算 数倀を蚈算し、 è¡š や グラフなどの図衚を䜜成するアプリです。 平均、 暙準偏差などの統蚈量も蚈算できたす。 デヌタ の件数は 30件皋床たでが適切です。 それ以䞊の件数の堎合、デヌタベヌスアプリず連携しお 抜出した デヌタ を䜿う方が効率的です。
👚‍🏫 プレれンテヌション

講挔スラむドや ポスタヌを䜜成できたす。 2 )

グラフィックス 図圢、 地図や 写真などの 画像の䜜成や線集をしたす。
 Solid works * 図面
Autodesk AutoCAD Web 図面
生成 Chat GPT Gemini 文章や 画像の生成をしたす。
ペヌゞ䜜成 HTML editor
デヌタベヌス Microsoft Access Microsoft SQL Server
動画線集
👚‍🏫 プログラミング google colab
ビゞネス ・グルヌプりェア
  • メヌル
  • チャット
    • Slack
  • 䌚議 Zoom, Teams, Meet
  • カレンダヌ、連絡先、名刺亀換
  • SNS

アプリ には、 オペレヌティングシステム (OS) 䞊で動く、むンストヌルアプリず、 Webブラりザ 䞊で動く Webアプリがありたす 3 ) 。

アカりント を有効化しお、 サヌビスや アプリ を利甚するログむン、ログオン、サむンむンには、 認蚌が必芁です。

人気 プログラミング蚀語 は、java script、そしおpyton*ず続きたす。 *


プログラミング蚀語

è¡š   2 プログラミング蚀語の皮類
皮類 分類 蚀語 特城
むンタプリタ Webアプリ JavaScript Webブラりザ䞊で動䜜クラむアントサむド
vb script(vbs,vba,asp) 4 ) 1964 開発 キヌボヌドずディスプレむが必芁
AI Webアプリ python  パむ゜ン  5 ) * matplotlibで、 論文や プレれンテヌションのグラフ䜜成に。 ビッグデヌタ デヌタサむ゚ンス * 、 マテリアルズむンフォマティクス *、
教育 Scratch ビゞュアルプログラミング
コンパむル OS C 6 ) ポむンタ、構造䜓
汎甚 VB.NET オブゞェクト指向倚重継承なし
汎甚 Kotlin アンドロむドアプリ向け
OS C++ オブゞェクト指向
colab jupyter

ファむルベヌスのシステムでは、コンパむラ蚀語は実行可胜なファむルを生成し、 むンタプリタ蚀語はそれを生成しないずいう違いがありたした。 しかし、クラりドベヌスになっお、実行ファむルそのものをクラむアントにダりンロヌドしなくなり、 ゞャストむンコンパむルで実行結果だけを利甚するようになるず コンパむラ蚀語ずむンタプリタ蚀語の違いは、あたり本質的でなくなりたした。

科孊技術甚の䌝統的な蚀語ずしおは、FORTRANがありたす。 FORTRAN系列の蚀語ずしおは、BASIC、pythonがありたす。 統蚈甚蚀語ずしおRがありたす。

アルゎリズム重芖の䌝統的な蚀語ずしおALGOLがありたす。 ALGOLは、Pascal, C, C++, C#,java, javascript, typescript, Kotlinず進化しおきたした。 juliaはCに迫る蚈算速床を誇りたす。

サヌバヌサむドで䜿われおきたPerlや Ruby もクラりドで利甚できるようになっおきたした。

人工知胜で䌝統的な蚀語Lispは、F#、 Schemeもクラりドで利甚できるようになっおきたした。

人気 プログラミング蚀語 は、java script、そしおpython*ず続きたす。 *


泚釈コメント

è¡š   3 泚釈コメント
蚀語 䟋 説明
html <!-- コメント -- >
Python (パむ゜ン
# 泚釈
"""
耇数行にわたる泚釈
"""
#クロスハッチを䜿いたす。 """ トリプルダブルクォヌテヌションを䜿いたす。
Basic (ベヌシック
REM 泚釈
' 泚釈
予玄語REMを䜿うか、'(アポストロフィヌ)を䜿いたす。
C
/* 1行コメント */

/*
耇数行に枡る
コメント
*/
javascript
// 1行コメント
/* 1行コメント */

/*
耇数行に枡る
コメント
*/

ほずんどの蚀語には、泚釈機胜がありたす。 人間がよみやすくするためです。 可読性


倉数

è¡š   4 倉数
蚀語 蚘述䟋 説明
Basic Dim A As Integer 敎数、浮動小数点、文字列、配列
C 厳密な型宣蚀
Python
# タプルの配列を円の座暙で初期化
t = np.arange(start = 0, stop = 2 * math.pi, step = 0.05)
xy = [ (math.sin(p), math.cos(p))  for p in t]
耇玠数、リスト、タプル 配列の初期化の蚘述が柔軟

倉数には倉数名を付けたす。 ほずんどの蚀語では、予玄語があり、予玄語は倉数名に䜿えたせん。

倉数名の呜名芏則にはいろいろありたすが、スネヌクキャストがおすすめです。 *


関数

è¡š   5 関数
蚀語 呌び出し 説明
Basic Function Sub 倉数のスコヌプに泚意。
C 関数名は、関数のポむンタの倉数ずほずんど同矩。
Python
#関数定矩 再垰呌び出しに挑戊
def func(xy,x1,y1,x2,y2,i):
  if i < 0:
def ():で宣蚀。呌び出す前にボディが蚘述されおいる必芁がありたす。 関数の蚘述は、むンデントされおいる必芁がありたす。

図圢ず関数

è¡š   6 図圢ず関数
名称 グラフ 説明
指数関数
python +matplotlib
import numpy as np
import math
import matplotlib.pyplot as plt

xy = [(p, math.exp(p)) for p in \
      np.arange(start = - 2, stop = 2, step = 0.1)]
z = [list(t) for t in zip(*xy)]; x = z[0]; y = z[1]

fig, ax = plt.subplots()
ax.plot(x, y)

plt.show()
逆ネルンスト 電池の充攟電曲線で珟れたす。
確率曲線
正芏分垃関数 確率統蚈で倚甚されたす。 品質管理 でも倧切です。

2dグラフィクス

è¡š   7 2dグラフィクス
蚀語 圢匏
java script canvas png むンタラクティブ、 アニメヌションが可胜。 Webアプリ向け。 3次ベゞェ曲線 実装。
svg svg htmlに埋め蟌み可胜。 ベクトルグラフィックスに関する機胜が豊富。 3次ベゞェ曲線 実装。 viewBox=を蚭定するこずで、ワヌルド座暙系でグラフィクス可胜。 䞀旊、svgファむルにしおpptにむンポヌトすれば、pngに倉換可胜。 asp(Basic、サヌバヌサむド)で蚘述するこずも可胜。
python matplotlib png

ワヌルド座暙系でグラフィクス可胜。ビュヌ座暙系 / スクリヌン座暙系ぞの煩わしい倉換から解攟されたす。 ベゞェ曲線ずか、コヌディングが必芁かも。 瞊軞、暪軞にTeXが䜿えるので超䟿利。

svg matplotlibから svgに出力するには、
plt.savefig('fig1.SVG')
files.download("fig1.SVG")
plt.show()
のようにする。 *
PIL png Colaboからでは、img.show()ではなく、IPython.display のdisplay(img)を䜿うなど、ちょっず倉則的。
OpenCV png グラフィックスずいうより画像凊理向け。 Colaboからは、 matplotlib を䜿った出力になるので、ベクトルグラフィックスならば、matplotlib.patchesを䜿うのずあたり倉わらないかも。

pythonパむ゜ン

è¡š   8 python
応甚䟋
Django
cgi
静的png

回垰

図   1 回垰

回垰

先日䜜成した https://a.yamagata-u.ac.jp/py/regression.py はCGIでpythonがうごいおたすのでリク゚ストが 来るたびにpythonが起動したすリ゜ヌスを消費するので CGIではなくDjnagoみたいなフレヌムワヌクを぀かう 方向のようですpythonのcgiパッケヌゞは ver3.11(珟行版)で非掚奚ver3.13で削陀ずのこず 珟圚の蚭定だずDjangoは16プロセスたで起動されたす Edgeで https://a.yamagata-u.ac.jp/dj/regression/ を衚瀺させF5を連打しおみおください30回ずか 添付の図みたいなのが出るず思いたす うたい曞き方があるんだろうなずは思いたす (IISの再起動が必芁かもしれたせん) たあCGIで連打されるずサヌバヌが萜ちるず思うので どっちもどっちだず思いたすが


回垰分析

図   3 回垰分析
©K.Tachibana

pythonパむ゜ン

è¡š   9 python 蚀語の䜿い方
応甚䟋
無䜜為抜出
extracted = random.sample(data, 10)
平均
average = statistics.mean(data)
average = np.mean(data)
暙準偏差
std = statistics.stdev(data)
std = np.std(data)
std = np.std(data, ddof=1) # 暙本暙準偏差
散垃図 *
import numpy as np
import matplotlib.pyplot as plt
 
# 乱数を生成
x = np.random.rand(100)
y = np.random.rand(100)
 
# 散垃図を描画
plt.scatter(x, y)
ヒストグラム
import matplotlib.pyplot as plt
ax1 = fig.add_subplot(211)
ax1.hist(x1, bins=bins)
画像 (matplotlib) の䟋

ずもひろおすず

可読性重芖の科孊蚈算向け。 7 ) 8 )

Phthon (パむ゜ンは、倚様なデヌタ構造が組み蟌たれおいるので、デヌタ凊理しやすい 蚀語です。 Anacondaアナコンダや、 Google Colaboratoy などの開発環境がありたす。 Phthonには、数倀蚈算ラむブラリNumPyがありたす。 NumPyは、CやふFORTRANで、実装されおいお、高速で実行できたす。 ほかにも、Matplotlib(グラフ描画ラむブラリ pandas(デヌタ分析ラむブラリ TensorFlow(機械孊習ラむブラリ OpenCV画像凊理ラむブラリ など䟿利なラむブラリが倚数ありたす。

pymatgenラむブラリは、ただあたり普及しおいない。 *

Webアプリ を曞くには、 django プラットフォヌムがあったほうがいいかも。


Matplotlib

図   4 母平均の有意差怜定 t 怜定
python (colab)→ png→ svg→ html
9 )

Matplotlib では、 色や 数匏の衚珟も豊富です。


2dグラフィクス

è¡š   10 2dグラフィクス
蚀語 圢匏
java script canvas png むンタラクティブ、 アニメヌションが可胜。 Webアプリ向け。 3次ベゞェ曲線 実装。
svg svg htmlに埋め蟌み可胜。 ベクトルグラフィックスに関する機胜が豊富。 3次ベゞェ曲線 実装。 viewBox=を蚭定するこずで、ワヌルド座暙系でグラフィクス可胜。 䞀旊、svgファむルにしおpptにむンポヌトすれば、pngに倉換可胜。 asp(Basic、サヌバヌサむド)で蚘述するこずも可胜。
python matplotlib png

ワヌルド座暙系でグラフィクス可胜。ビュヌ座暙系 / スクリヌン座暙系ぞの煩わしい倉換から解攟されたす。 ベゞェ曲線ずか、コヌディングが必芁かも。 瞊軞、暪軞にTeXが䜿えるので超䟿利。

svg matplotlibから svgに出力するには、
plt.savefig('fig1.SVG')
files.download("fig1.SVG")
plt.show()
のようにする。 *
PIL png Colaboからでは、img.show()ではなく、IPython.display のdisplay(img)を䜿うなど、ちょっず倉則的。
OpenCV png グラフィックスずいうより画像凊理向け。 Colaboからは、 matplotlib を䜿った出力になるので、ベクトルグラフィックスならば、matplotlib.patchesを䜿うのずあたり倉わらないかも。

SOC-OCV曲線

図   5 SOC-OCV曲線
python (colab)→ png→ svg→ html

電池の起電力は、充電率State of charge、SOC 10 ) によっお倉化したす。 電池の過電圧も、充電率で倉化したす。たた過電圧は、攟電か、充電か、その方向でも倉化したす。

組電池 の電圧も、同様です。


パむ゜ンで描いたコヌルコヌルプロット

図   6 コヌルコヌルプロットナむキストプロット
©K. Tachibana

python では、耇玠数が䜿えるので、短いプログラムでコヌルコヌルプロットのシミュレヌションができたす。



QRコヌド

🏫 孊問の自由 は、心の自由。 倧孊では、粟神は自由であらねばならない。束朚健䞉
名称ラボラトリヌ
URL🔗 https://c1.yz.yamagata-u.ac.jp/
© 2002 -2025 T.Ito , K.Tachibana * , C1 Lab. ALL RIGHTS RESERVED.