Python

Python

Python♪FEM:配列の次元数別の複製速度(list、NumPy配列)

list、NumPy配列の1~3次元配列について、参照渡し、浅いコピー、深いコピーなどの複製時間を計測しました。速度の差を感覚的に知っておくことは重要だと思います。私自身、予想外の計測結果になったものもあり、楽しむことができました。
Deep Learning

Python♪NumPyのa[[0], 0, 0:1]は何次元の配列になる?

NumPyの配列の要素はスライスやリスト(配列)を使って部分的に要素を抜き出せますが、抜き出した配列の次元がどうなるのか混乱しませんか?しかし、実は抜き出し後の配列の次元数は機械的に判断できます。最初に知っておくと頭に入りやすくなります。
Deep Learning

Python♪NumPyのa[i, j, k]とa[i][j][k]の違い

NumPy配列では要素を参照するときに、a[i, j, k]とa[i][j][k]という2つの表記法があります。「そうだっけ」と思った方はその違いを整理しておきましょう。計算速度、データへのアクセスの考え方が違いますので注意が必要です。
Deep Learning

Python♪ディープラーニングを高速化するバッチ処理とは

ディープラーニングではバッチ処理という方法が使えます。難しそうに聞こえますが、バッチ処理とは「データをまとめて計算する処理」のことです。そして、まとめて計算することで速くなります。具体例によりバッチ処理の概要を説明し、速度の比較を行います。
Deep Learning

Python♪関数で複数の値を返すタプルの便利な機能

「タプルはあまり使いどころがない?」と思っていませんか?でも、タプルを使うと複数の値を一度に渡すことができます。特に関数の返り値(return)での使用は必須レベル。「ゼロから作るDeep Learning」でも多用していたので記事にしました。
Python

Python♪提出資料で使えるmatplotlibグラフ書式例1

matplotlibのグラフ出力結果を使いたいけれどExcelのような表現ができず、面倒になって結局Excelを使ってしまう。というのは「あるある」だと思います。そこで、実際に提出資料として使える書式例を紹介したいと思います。
Python

Python♪FEM:部材座標系の要素剛性マトリクス

バネの式は中学生に習いますが、これを行列で表現すると聞くと急に難しく感じてしまいます。でも、順を追って理解すれば難しいものではありません。F=k・xの式から要素剛性マトリクスを求めるまでの過程を説明したいと思います。
Python

Python♪FEM:2015年に高校数学から行列計算が消えた!

ご存じの通り(?)2015年から行列が高校数学から消えました。何考えているの!行列計算って情報処理の基本でしょ。中学生とPythonを勉強する記事を書いている私が言うのもなんですが、小中学生へのプログラムの早期教育よりも大切なのでは。
Python

Python♪用語集:意外に難しいコンテナ、シーケンスなどの分類

意外に難しい「コンテナ」「シーケンス型」「イテラブル」「整数型」「ミュータブル」「イミュータブル」などの分類を整理し、覚え方を紹介します。Pythonのチュートリアルやドキュメントを読むとき、これらの用語が理解できないと読み進められません。この機会に頭の中を整理しましょう。
Python

Python♪FEM:行列の積や転置行列のコード記述のコツ

行列の積や転置行列についてNumpyの関数を使えば簡単ですが、関数を使わない方法も紹介します。PythonのFEMの書籍はまだ少ないため、CやFORTRANのコードを読むときに役に立ちます。熟語を覚えるような感覚でコードを覚えれば簡単です。
Python

Python♪FEM:平面トラスの有限要素法サンプルコード

平面トラスの有限要素法のプログラムをPythonで組んでみました。以前に自分がつくったコードを引っ張り出してきて、Pythonに移植しました。このくらいのボリュームのプログラムにじっくり取り組むと面白いですね。
Python

Python♪FEM:微小変形の仮定と人の感覚の違い

有限要素法のプログラムの自作にチャレンジするなら、「微小変形」は必ず理解しましょう。人間の感覚とずれているので知らなければ苦労します。解析では常識に近い初歩的な内容なので書籍やサイトなどでも説明が省略されていることが多いです。
Python

Python♪2ヶ月ぐらい更新ができなかったので雑談です

雑談です。技術的な内容ではありません。2018年6月18日からホームページをはじめ、1年半ぐらい経過しました。こつこつとホームページを続けてきましたが、更新が2ヶ月ぐらい空いてしまい、ちょっと、とりとめもない記事も書いてみたくなりました。
Python

Python♪次は理屈で覚えよう「参照渡し」「浅いコピー」「深いコピー」

【「参照渡し」「浅いコピー」「深いコピー」まずは理屈抜きで覚えよう。】の続編です。今度は、変数のデータのしくみを図示しながら、なぜ、参照渡しはデータが連動し、浅いコピーは深い部分だけが連動するのかを説明します。このしくみがわかれば関数の引...
Python

Python♪本当は変数には参照先のアドレス(id)しか入っていない

変数aに整数3を代入するとは、aという名前の箱に整数3を入れるようなイメージですが、実際にはそうではありません。整数オブジェクト3が別のところに独立して生成され、変数aには整数オブジェクトの保存先のアドレス(id)のみが記述されます。この...