SlideShare a Scribd company logo
1 of 10
Download to read offline
2017-02更新 熊本高専
森下功啓
VBAで数値計算
編集後記
1
2
個人的には研究で使われることの稀な言語であるVBAを数
値計算の学習に使うことにためらいが有ります。
VBAはモダンなプログラミング言語に比べて分かりにくく、
応用も効きません。
VBAはOfficeの操作のための言語なのであり、数値計算に
使うことに良いことはありません。
VBAで数値計算に取り組めば、以下のような感想を抱くのです。
3
モダンな言語であれば、値の変換はスムーズで、値の表現
幅が大きく、式や関数を引数として渡すことができ、プロ
グラムはかなりスマートになります。また、オブジェクト
指向の恩恵で自動的な微分を行ったり積分や変数について
解くなどの計算が実現できます。
4
例えば、Pythonで2階微分を実現すると以下の様になります。
Pythonは関数を引数として渡せるので微分を行う関数は一つ定
義すれば良く、問題に合わせて書き直す部分は最小です。
5
また、平均などの計算ロジックと実装テクニックは重要です
が、実際のデータの処理で必ずぶつかる壁ですので平均の実
装テクニックでfor文を学ぶ意味は余りありません。平均を簡
単に記述できるなら記述してしまって、数値計算の入り口を
抜けた先へ行った方が良いのではないでしょうか。
最大:max(array_data)
最小:min(array_data)
合計:sum(array_data)
平均:sum(array_data) / len(array_data)
標準偏差:numpy.std(array_data) ただしnumpyのimportが必要
Pythonで実装した(されている)簡単な数値処理の例
6
逆行列を求めることも、Pythonであればほぼ数式の様に記
述できるため行列の中身の実装に戸惑うことはありません。
Pythonで逆行列を求める例
7
また、余計な修飾子や型の宣言がなければ、プログラムは
すっきりと見え、初学者の理解は促されます。
Pythonで実装した掃き出し法の例 8
プログラムが短いだけで生産性は上がり、かつ学習速度は
加速します。短期間に研究成果を出すには試行錯誤が必要
ですが、モダンな言語はそれをサポートします。
Pythonで擬似逆行列を求める例 9
Pythonを使おう
10

More Related Content

Viewers also liked

U blox社製gps受信機の出力センテンス変更方法
U blox社製gps受信機の出力センテンス変更方法U blox社製gps受信機の出力センテンス変更方法
U blox社製gps受信機の出力センテンス変更方法
Katsuhiro Morishita
 
Pythonの環境導入 2014年春季版
Pythonの環境導入 2014年春季版Pythonの環境導入 2014年春季版
Pythonの環境導入 2014年春季版
Katsuhiro Morishita
 

Viewers also liked (20)

チームMORIMORI 設計資料他苦労話など at G空間EXPO2013
チームMORIMORI 設計資料他苦労話など at G空間EXPO2013チームMORIMORI 設計資料他苦労話など at G空間EXPO2013
チームMORIMORI 設計資料他苦労話など at G空間EXPO2013
 
高専生のための卒研説明資料α版
高専生のための卒研説明資料α版高専生のための卒研説明資料α版
高専生のための卒研説明資料α版
 
GPSロボットカーコンテスト2011参加レポート
GPSロボットカーコンテスト2011参加レポートGPSロボットカーコンテスト2011参加レポート
GPSロボットカーコンテスト2011参加レポート
 
Googleサイトの作り方
Googleサイトの作り方Googleサイトの作り方
Googleサイトの作り方
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識 第3版
 
Calc Method of Distance on The Earth (地球上での距離の計算)
Calc Method of Distance on The Earth (地球上での距離の計算)Calc Method of Distance on The Earth (地球上での距離の計算)
Calc Method of Distance on The Earth (地球上での距離の計算)
 
第1回熊本IoT研究会での森下のLT資料
第1回熊本IoT研究会での森下のLT資料第1回熊本IoT研究会での森下のLT資料
第1回熊本IoT研究会での森下のLT資料
 
平成26年度熊本高専Arduino講座 第1週 センサーとArduno及びProcessingとの連携
平成26年度熊本高専Arduino講座 第1週  センサーとArduno及びProcessingとの連携平成26年度熊本高専Arduino講座 第1週  センサーとArduno及びProcessingとの連携
平成26年度熊本高専Arduino講座 第1週 センサーとArduno及びProcessingとの連携
 
U blox社製gps受信機の出力センテンス変更方法
U blox社製gps受信機の出力センテンス変更方法U blox社製gps受信機の出力センテンス変更方法
U blox社製gps受信機の出力センテンス変更方法
 
平成25年社会人講座 Arduinoによるマイコン入門講座
平成25年社会人講座 Arduinoによるマイコン入門講座平成25年社会人講座 Arduinoによるマイコン入門講座
平成25年社会人講座 Arduinoによるマイコン入門講座
 
EAGLE on PCB Design (EAGLEを使った回路・パターン設計)
EAGLE on PCB Design (EAGLEを使った回路・パターン設計)EAGLE on PCB Design (EAGLEを使った回路・パターン設計)
EAGLE on PCB Design (EAGLEを使った回路・パターン設計)
 
Pythonの環境導入 2014年春季版
Pythonの環境導入 2014年春季版Pythonの環境導入 2014年春季版
Pythonの環境導入 2014年春季版
 
各OSにおいて、OpenCVをpythonから使う方法
各OSにおいて、OpenCVをpythonから使う方法各OSにおいて、OpenCVをpythonから使う方法
各OSにおいて、OpenCVをpythonから使う方法
 
VBAにおける配列の データ構造と行列
VBAにおける配列の データ構造と行列VBAにおける配列の データ構造と行列
VBAにおける配列の データ構造と行列
 
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
オトナのプログラミング勉強会 オトナのDeep Learning 2016-11
 
プログラムの流れを図で表す 方法その1:フローチャート/アクティビティ図
プログラムの流れを図で表す方法その1:フローチャート/アクティビティ図プログラムの流れを図で表す方法その1:フローチャート/アクティビティ図
プログラムの流れを図で表す 方法その1:フローチャート/アクティビティ図
 
初めての機械学習
初めての機械学習初めての機械学習
初めての機械学習
 
VBAで数値計算 01 数値計算の紹介
VBAで数値計算 01 数値計算の紹介VBAで数値計算 01 数値計算の紹介
VBAで数値計算 01 数値計算の紹介
 
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
PythonとRによるデータ分析環境の構築と機械学習によるデータ認識
 
VBAとPythonで始める数値計算教育
VBAとPythonで始める数値計算教育VBAとPythonで始める数値計算教育
VBAとPythonで始める数値計算教育
 

More from Katsuhiro Morishita

More from Katsuhiro Morishita (20)

数ページの卒業論文作成のためのwordの使い方
数ページの卒業論文作成のためのwordの使い方数ページの卒業論文作成のためのwordの使い方
数ページの卒業論文作成のためのwordの使い方
 
Pythonのパッケージ管理ツールの話@2020
Pythonのパッケージ管理ツールの話@2020Pythonのパッケージ管理ツールの話@2020
Pythonのパッケージ管理ツールの話@2020
 
オトナのpandas勉強会(資料)
オトナのpandas勉強会(資料)オトナのpandas勉強会(資料)
オトナのpandas勉強会(資料)
 
SIgfox触ってみた in IoTLT in 熊本市 vol.3
SIgfox触ってみた in IoTLT in 熊本市 vol.3SIgfox触ってみた in IoTLT in 熊本市 vol.3
SIgfox触ってみた in IoTLT in 熊本市 vol.3
 
Google Colaboratoryの使い方
Google Colaboratoryの使い方Google Colaboratoryの使い方
Google Colaboratoryの使い方
 
Excelでのグラフの作成方法re
Excelでのグラフの作成方法reExcelでのグラフの作成方法re
Excelでのグラフの作成方法re
 
Pythonのmain関数
Pythonのmain関数Pythonのmain関数
Pythonのmain関数
 
Pythonスクリプトの実行方法@2018
Pythonスクリプトの実行方法@2018Pythonスクリプトの実行方法@2018
Pythonスクリプトの実行方法@2018
 
機械学習と主成分分析
機械学習と主成分分析機械学習と主成分分析
機械学習と主成分分析
 
Pythonで始めた数値計算の授業@わんくま勉強会2018-04
Pythonで始めた数値計算の授業@わんくま勉強会2018-04Pythonで始めた数値計算の授業@わんくま勉強会2018-04
Pythonで始めた数値計算の授業@わんくま勉強会2018-04
 
マークシート読み込みプログラムを作ってみた@2018-04-04
マークシート読み込みプログラムを作ってみた@2018-04-04マークシート読み込みプログラムを作ってみた@2018-04-04
マークシート読み込みプログラムを作ってみた@2018-04-04
 
オトナの画像認識 2018年3月21日実施
オトナの画像認識 2018年3月21日実施オトナの画像認識 2018年3月21日実施
オトナの画像認識 2018年3月21日実施
 
LoRa-WANで河川水位を計測してみた@IoTLT@熊本市 vol.001
LoRa-WANで河川水位を計測してみた@IoTLT@熊本市 vol.001LoRa-WANで河川水位を計測してみた@IoTLT@熊本市 vol.001
LoRa-WANで河川水位を計測してみた@IoTLT@熊本市 vol.001
 
シリーズML-08 ニューラルネットワークを用いた識別・分類ーシングルラベルー
シリーズML-08 ニューラルネットワークを用いた識別・分類ーシングルラベルーシリーズML-08 ニューラルネットワークを用いた識別・分類ーシングルラベルー
シリーズML-08 ニューラルネットワークを用いた識別・分類ーシングルラベルー
 
シリーズML-07 ニューラルネットワークによる非線形回帰
シリーズML-07 ニューラルネットワークによる非線形回帰シリーズML-07 ニューラルネットワークによる非線形回帰
シリーズML-07 ニューラルネットワークによる非線形回帰
 
シリーズML-06 ニューラルネットワークによる線形回帰
シリーズML-06 ニューラルネットワークによる線形回帰シリーズML-06 ニューラルネットワークによる線形回帰
シリーズML-06 ニューラルネットワークによる線形回帰
 
シリーズML-05 ニューラルネットワーク
シリーズML-05 ニューラルネットワークシリーズML-05 ニューラルネットワーク
シリーズML-05 ニューラルネットワーク
 
シリーズML-03 ランダムフォレストによる自動識別
シリーズML-03 ランダムフォレストによる自動識別シリーズML-03 ランダムフォレストによる自動識別
シリーズML-03 ランダムフォレストによる自動識別
 
シリーズML-01 機械学習の概要
シリーズML-01 機械学習の概要シリーズML-01 機械学習の概要
シリーズML-01 機械学習の概要
 
Pandas利用上のエラーとその対策
Pandas利用上のエラーとその対策Pandas利用上のエラーとその対策
Pandas利用上のエラーとその対策
 

Recently uploaded

TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
YukiTerazawa
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
koheioishi1
 

Recently uploaded (7)

東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
東京工業大学 環境・社会理工学院 建築学系 大学院入学入試・進学説明会2024_v2
 
UniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScriptUniProject Workshop Make a Discord Bot with JavaScript
UniProject Workshop Make a Discord Bot with JavaScript
 
TokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentationTokyoTechGraduateExaminationPresentation
TokyoTechGraduateExaminationPresentation
 
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習106 -価格の交渉ゲーム-#ゲーム理論 #gametheory #数学
 
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
 
The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024The_Five_Books_Overview_Presentation_2024
The_Five_Books_Overview_Presentation_2024
 
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
生成AIの回答内容の修正を課題としたレポートについて:お茶の水女子大学「授業・研究における生成系AIの活用事例」での講演資料
 

VBAで数値計算 編集後記