あらきけいすけのメモ帳

あらきけいすけの雑記帳2

Pythonでモジュール名、関数名を変数化する

例1 import openpyxl wb = openpyxl.Workbook() wb.save('boook.xlsx')を書き換える import importlib x = 'openpyxl' y = 'Workbook' z = getattr( importlib.import_module( x ) , y ) wb = z() wb.save('boook.xlsx')例2 import openpyxl print( openpyxl…

Pythonでdictをソースコードとして使えるように出力する関数

関数定義 def srcWrite(Q,n,d,width=30): with open(f'src_{n}_.py','w',encoding='utf-8') as f : print(f'# -*- coding: utf-8 -*-',file=f) print(f'# {Q}',file=f) print(f'{n} = \\',file=f) pprint.pprint(d,sort_dicts=False,width=width,stream=f)関…

sin(x)/xの証明にx<tan(x)はいらない(高校ではなく大学教養程度なら)

授業のための覚書高校レベルだと公式:の証明は不等式を出発点にしている。ここで右側, は、「面積」で評価すると円の面積の評価にを使っているので循環論証となり、「弧長」で評価すると曲線の長さのRiemann積分を基礎とした不等式評価になるので、いずれも…

lim(x→0) sin(x)/x=1の証明のつもりで始めた円の面積の公式の証明

証明の動機:小学校の算数での円の面積の説明「丸いピザを切って並べ替える操作を、長方形になるまで細かく切り続ける」のを数学的に論証しないのがキモチワルイから。まず、、、 (直感的には)半径の扇形の面積は半径の2乗と中心角に比例するので:. (円…

Google Colab で __file__ の代わりに Jupyter notebook のファイル名を知る方法

from requests import get from socket import gethostname, gethostbyname ip = gethostbyname(gethostname()) # 172.28.0.12 (2024.2.19現在) filename = get(f"http://{ip}:9000/api/sessions").json()[0]["name"] print(ip,filename)stackoverflow.com

組立除法でcos, sinの3倍角,4倍角,5倍角の公式を求める

授業のための覚書*1。積和の公式*2と、3項間漸化式を組立除法*3で解けることを組み合わせることでn倍角の公式を組立除法で求めることができる: *1:チェビシェフの多項式の次数の低いものを筆算する方法:チェビシェフ多項式 - Wikipedia *2:三角関数の公式…

Windows conio.h の kbhit(), getch() みたいな関数を Linux/Mac gcc で作る

授業のための覚書。コンソールでキーボード入力待ち状態を作り、入力が無い間は「idle process」を表示し、ASCII*1の印字可能文字(printable characters)のキーを押すと「[*]-key was hit」を表示し、ESCキーを押すと終了するイベント駆動型のC言語プログラ…

忘れてたので探したコマンド

Windows の cmd.exe (コマンドプロンプト)でたたく命令 ipconfig /all : 何がネットワークにつながっているか見る。ただしリンクローカルは相手ではなく自分のアドレスが見えている。 arp -a : リンクローカルアドレス(169.254.*.*)が見えているか。つないで…

ChatGPT(無料版)に有意味な変数名と無意味な変数名のコードの解読をさせてみた

変数名を無意味化して「Pythonコードを解読」させてみた。変数名を「解読」のきっかけに使っているようだ。(まだ動作の推測をミスリードするような変数名に変える、例えば三角関数関連の名称を変数に使うとどうなるか試していない)コードはNewton法の漸化…

グラフの凹凸と関数の2階微分と平均値の定理

授業のための覚書。数学IIIの高校教科書、学習参考書では、y=f(x)のグラフが「上に凸」「下に凸」であることと2回微分した関数 f''(x) の正負の関係の説明が直感的なものばかりで、高校の範囲内で説明可能なのに「平均値の定理」と結び付けたものが少ないよ…

C言語の文字列 char a[] char *pのふるまい

授業用のコードを書いて困惑したので、C99を読み返す。 初期化を伴う char 型の配列 char a[ ] の宣言によって a は「配列」として使えるThe declarationchar s [ ] = "abc", t[3] = "abc";defines ‘‘plain’’ char array objects s and t whose elements are…

Excel VBA の Sub/Function 内で(変更するかもしれない)コード内の主要なパラメーターを省略可能な名前付き引数としてリストアップするとコードが見易いかもしれない

Excel VBA の Sub/Function 内で(変更するかもしれない)コード内の主要なパラメーターを省略可能な名前付き引数としてリストアップするとコードが見易いかもしれない Function setDicRawKeyVal授業データ( _ wsIn As Worksheet _ , wsOut As Worksheet _ , O…

2022.7.8 雨

昨日(7.8)の未明くらいから、中四国を縦に横切る降水帯が形成されてほぼ動かなかった。wxmaps.org の850hPa高度の天気図を見ると、関東の東海上に低気圧があって、低気圧の北側の流れが偏西風とぶつかっているようだ、500hPa高度の天気図を見ても、南北に前…

極限を用いた自然対数の定義

授業のための覚書:自然対数の定義を指数関数の導関数の定義から誘導する - あらきけいすけのメモ帳がベルヌーイのeの定義から導けたのでメモ。途中計算の対数の底は任意。最終的に底の変換公式で自然対数になる。 において (ならば)右極限:と置くと (なら…

openpyxlで結合セルかどうかを判定する

typeCell = isinstance( cellThis, openpyxl.cell.cell.MergedCell )

ExcelワークシートのあるCellが特定のRangeに含まれているかopenpyxlで判定する

苦労したのでメモ*1;例題)A1セルがA1:B2の範囲に入っているか判定する。 import openpyxl a = openpyxl.worksheet.cell_range.CellRange('A1') b = openpyxl.worksheet.cell_range.CellRange('A1:B2') c = a.issubset(b) print(a,b,c)出力: A1 A1:B2 Truei…

Python コードをファイルに生成して、生成したファイルを import する Python コード

一つのPython コードの中に「Python コードをファイルに書き出す」「その書き出した Python コードを import して、実行する」ことを書くことができた: pyvar = 'a = (1,2,3)' pydef = ''' def prt (x) : print('hello' + x) print(a) return x ''' pydef0 …

自然対数の定義を指数関数の導関数の定義から誘導する

授業のための覚書。 指数関数の導関数を定義に従って計算すると:. ここでとおくと、より、は対数法則を満たす。 この指数関数の導関数の計算から自然に誘導される対数関数を自然対数と呼ぶ: おそらくEulerはここから自然対数の底の定義にを採用したのでは…

高校の教科書・参考書に書かれていない指数関数の応用の基本

書きかけ なぜこれが高校の数学、理科の学習指導要領外(要確認)なのか分からない指数関数の応用では、指数(exponent)、基数(base, 底(てい))には無次元の量を代入し、単位を持つ量は指数関数の係数にする。 例題1:複利式で預けた預金の残高 例題2:放射性物…

openpyxl覚え

Workbookの新規作成、データ入力、保存 import openpyxl workbook = openpyxl.Workbook() # 新規作成 worksheet = workbook.active # ワークシートの選択 worksheet.cell(1,1).value ='test' # データ入力 cell(行,列) 添字1から worksheet['B2'].value ='da…

行列のn乗を固有値だけから求める(固有ベクトルも対角行列も求めないシルベスターの公式)

授業のための覚書*1。 Cayley-Hamiltonの定理*2, 剰余の定理*3, Lagrange の補間*4を用いると、対角化の操作*5をスルーして行列のn乗を求めることができるのでメモ*6。シルベスターの公式*7の応用例()になっている。行列のn乗なんて、ケーリー・ハミルトンの…

ソフトウェアへの恐怖心

慣れないシステム、慣れないソフトウェアをいじると、どの程度の「失敗」がどの程度まで「取返しがつく」のか分からないので、対象の影響範囲の大きさが想像される(あるいは想像がつかない)と、相当にビビる。「失敗へのトレランスが大きいと事前にわかるこ…

Python 覚え

ドキュメント:https://docs.python.org/3/index.html 文字コード名一覧:https://docs.python.org/3/library/codecs.html?highlight=encoding%20jis#standard-encodings アンダースコア:冒頭の1文字アンダースコアは private の目印 https://stackoverflow…

openpyxl を用いて結合セルの結合を解除し、データを各セルにばらまく

かなり苦労したのでメモ*1。このPythonコードの実行速度は下のVBAコードより圧倒的に速い。 #-*- coding: shift_jis -*- import openpyxl #元データのシート wb = openpyxl.load_workbook('testIn.xlsx',data_only=True) ws = wb['Sheet1'] #結合したセルの …

GCC Developer Lite (GDL)を64bitのWindows 10にインストールし hello world プログラムを作成する

GCC Developer Lite (GDL) を使って自分のPCで hello world プログラムと、マイコン(ここではH8-3664F)用プログラムをC言語で作成できるようになるまでの覚書。2022.3.1に GDL 2.7 がリリースされて、インストールの方法が大きく変わっている。本稿は GDL …

Pythonの組み込み関数pow()は複素数を代入できたり出力したりする

教育用の覚書。累乗根の計算をやらせていてビックリしたのでメモ。Python のドキュメント https://docs.python.org/ja/3/library/functions.html#pow のどこにも書いていないが、組み込み関数*1の指数関数 pow(), べき乗演算 ** は複素数の範囲で計算を実行…

気になる

最近、槍穂高のあたりの群発地震*1とか、地震の話題が多かったので、久々に防災科学技術研究所 Hi-net 高感度地震観測網の震源マップをのぞいてみる。30日間のイベント数が3万4千余と去年の7月ころの1万8千余*2に比べてかなり増えている。イベント数が3万超…

COVID-19 覚書

自分用の覚書 人類がCOVID-19に直面するのは初めてである したがって、免疫がないから、感染拡大初期の感染者数の増加率は指数関数的である しかし、感染者数の増加ペースは国ごとに異なっている。香港、シンガポール、日本が低い*1 しかし、指数関数的なの…

Windows10上のLaTeXでUDフォントを使ってみた

自分用の覚書。LaTeXでモリサワのUD書体を試しに使ってみた。プリアンブル部分に次の3行を試しに書き加えて、コンパイルしたらできた。 \usepackage{pxchfon} \setminchofont{UDDIGIKYOKASHON-R.TTC} \setgothicfont{UDDIGIKYOKASHON-B.TTC}

い~と~まきまき~考えるカラス:第6回:糸巻きのネタバレ

NHK Eテレ「考えるカラス」第6回の「考える練習『糸巻き』」の問題はこちら *1今日は、糸巻(ま)きを使った問題です。机(つくえ)の上に糸巻きをおきます。少し糸が出ています。ここからが問題。この糸を、水平に引っぱります。糸巻きはどう動くのでしょう…