SlideShare a Scribd company logo
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

PDF
Facebookグループの作り方
PDF
Nhk高専ロボットコンテスト2014のルールを読んで考えたこと
PDF
タブレインの3Gシールドを用いてArduinoからツイートする方法 β版
PPTX
Tk 1315 gps受信機のコマンド
PDF
QGISやってみた 人口動態データのプロット
PDF
チームMORIMORI設計資料 ver. 2011 for GPSロボットカーコンテスト2011
PDF
車いす走行時の振動を用いた筋活動量計測手法の評価
PDF
SNSを始めとした情報化社会における危険性とメリット
Facebookグループの作り方
Nhk高専ロボットコンテスト2014のルールを読んで考えたこと
タブレインの3Gシールドを用いてArduinoからツイートする方法 β版
Tk 1315 gps受信機のコマンド
QGISやってみた 人口動態データのプロット
チームMORIMORI設計資料 ver. 2011 for GPSロボットカーコンテスト2011
車いす走行時の振動を用いた筋活動量計測手法の評価
SNSを始めとした情報化社会における危険性とメリット

Viewers also liked (20)

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

More from Katsuhiro Morishita (20)

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

VBAで数値計算 編集後記