Submit Search
Upload
VBAで数値計算 07 ベクトル
•
0 likes
•
1,911 views
Katsuhiro Morishita
Follow
VBAを使って数値計算の解説を行ったスライドシリーズです。
Read less
Read more
Education
Report
Share
Report
Share
1 of 27
Download now
Download to read offline
Recommended
Функция y=ax2+bx+c ее свойства и график
Функция y=ax2+bx+c ее свойства и график
Илья Сыч
3384 1
3384 1
Іванівський Пал
ระบบสมการเชิงเส้น
ระบบสมการเชิงเส้น
kruthanapornkodnara
กรณฑ์ที่สอง
กรณฑ์ที่สอง
Jiraprapa Suwannajak
Чотирикутники
Чотирикутники
Formula.co.ua
Задачі на побудову
Задачі на побудову
natasha29091997
"Раціональні числа"
"Раціональні числа"
vita345
презентація теорема синусів і конусів.pptx
презентація теорема синусів і конусів.pptx
ssuser908bb6
Recommended
Функция y=ax2+bx+c ее свойства и график
Функция y=ax2+bx+c ее свойства и график
Илья Сыч
3384 1
3384 1
Іванівський Пал
ระบบสมการเชิงเส้น
ระบบสมการเชิงเส้น
kruthanapornkodnara
กรณฑ์ที่สอง
กรณฑ์ที่สอง
Jiraprapa Suwannajak
Чотирикутники
Чотирикутники
Formula.co.ua
Задачі на побудову
Задачі на побудову
natasha29091997
"Раціональні числа"
"Раціональні числа"
vita345
презентація теорема синусів і конусів.pptx
презентація теорема синусів і конусів.pptx
ssuser908bb6
02 productivity rating of project
02 productivity rating of project
Chiang Mai University
Числові нерівності та їх властивості
Числові нерівності та їх властивості
Valyu66
การหารเลขยกกำลังที่มีฐานเดียวกันและฐานไม่เท่ากับศูนย์ มีเลขชี้กำลังเป็นจำนวนเ...
การหารเลขยกกำลังที่มีฐานเดียวกันและฐานไม่เท่ากับศูนย์ มีเลขชี้กำลังเป็นจำนวนเ...
ทับทิม เจริญตา
Кут між прямими
Кут між прямими
Gdanuk
Vshkole algebra 9-klas_kravchuk-yanchenko-pidruchna
Vshkole algebra 9-klas_kravchuk-yanchenko-pidruchna
Таня Валькович
EKUAZIO SISTEMAK DBH3
EKUAZIO SISTEMAK DBH3
mateerrazak
Inverse Matrix & Determinants
Inverse Matrix & Determinants
itutor
взаємне розміщення двох площин
взаємне розміщення двох площин
Александр Руденко
6 klas
6 klas
IvannaSh1
к 7 одночлени
к 7 одночлени
school8zv
Non chas quero
Non chas quero
ceiprandufe
บทที่ 1 ทศนิยมและเศษส่วน
บทที่ 1 ทศนิยมและเศษส่วน
sawed kodnara
ค่ารากที่ N ของจำนวนจริง
ค่ารากที่ N ของจำนวนจริง
kroojaja
7 geomsz m_2015_ua
7 geomsz m_2015_ua
UA7009
คณิตศาสตร์ ม.2 เลขยกกำลัง
คณิตศาสตร์ ม.2 เลขยกกำลัง
พัน พัน
вектори і координати у просторі
вектори і координати у просторі
Юра Марчук
Числовые промежутки
Числовые промежутки
Илья Сыч
Наслідки аксіом стереометрії
Наслідки аксіом стереометрії
Лариса Куликовская
паралелограм
паралелограм
balazki1975
บทที่5.pdf
บทที่5.pdf
sewahec743
【Deep Learning (MIT Press)】線形代数 2.1~2.7
【Deep Learning (MIT Press)】線形代数 2.1~2.7
京都大学人工知能研究会 KaiRA
応用数学レポート
応用数学レポート
ssuser441cb9
More Related Content
What's hot
02 productivity rating of project
02 productivity rating of project
Chiang Mai University
Числові нерівності та їх властивості
Числові нерівності та їх властивості
Valyu66
การหารเลขยกกำลังที่มีฐานเดียวกันและฐานไม่เท่ากับศูนย์ มีเลขชี้กำลังเป็นจำนวนเ...
การหารเลขยกกำลังที่มีฐานเดียวกันและฐานไม่เท่ากับศูนย์ มีเลขชี้กำลังเป็นจำนวนเ...
ทับทิม เจริญตา
Кут між прямими
Кут між прямими
Gdanuk
Vshkole algebra 9-klas_kravchuk-yanchenko-pidruchna
Vshkole algebra 9-klas_kravchuk-yanchenko-pidruchna
Таня Валькович
EKUAZIO SISTEMAK DBH3
EKUAZIO SISTEMAK DBH3
mateerrazak
Inverse Matrix & Determinants
Inverse Matrix & Determinants
itutor
взаємне розміщення двох площин
взаємне розміщення двох площин
Александр Руденко
6 klas
6 klas
IvannaSh1
к 7 одночлени
к 7 одночлени
school8zv
Non chas quero
Non chas quero
ceiprandufe
บทที่ 1 ทศนิยมและเศษส่วน
บทที่ 1 ทศนิยมและเศษส่วน
sawed kodnara
ค่ารากที่ N ของจำนวนจริง
ค่ารากที่ N ของจำนวนจริง
kroojaja
7 geomsz m_2015_ua
7 geomsz m_2015_ua
UA7009
คณิตศาสตร์ ม.2 เลขยกกำลัง
คณิตศาสตร์ ม.2 เลขยกกำลัง
พัน พัน
вектори і координати у просторі
вектори і координати у просторі
Юра Марчук
Числовые промежутки
Числовые промежутки
Илья Сыч
Наслідки аксіом стереометрії
Наслідки аксіом стереометрії
Лариса Куликовская
паралелограм
паралелограм
balazki1975
บทที่5.pdf
บทที่5.pdf
sewahec743
What's hot
(20)
02 productivity rating of project
02 productivity rating of project
Числові нерівності та їх властивості
Числові нерівності та їх властивості
การหารเลขยกกำลังที่มีฐานเดียวกันและฐานไม่เท่ากับศูนย์ มีเลขชี้กำลังเป็นจำนวนเ...
การหารเลขยกกำลังที่มีฐานเดียวกันและฐานไม่เท่ากับศูนย์ มีเลขชี้กำลังเป็นจำนวนเ...
Кут між прямими
Кут між прямими
Vshkole algebra 9-klas_kravchuk-yanchenko-pidruchna
Vshkole algebra 9-klas_kravchuk-yanchenko-pidruchna
EKUAZIO SISTEMAK DBH3
EKUAZIO SISTEMAK DBH3
Inverse Matrix & Determinants
Inverse Matrix & Determinants
взаємне розміщення двох площин
взаємне розміщення двох площин
6 klas
6 klas
к 7 одночлени
к 7 одночлени
Non chas quero
Non chas quero
บทที่ 1 ทศนิยมและเศษส่วน
บทที่ 1 ทศนิยมและเศษส่วน
ค่ารากที่ N ของจำนวนจริง
ค่ารากที่ N ของจำนวนจริง
7 geomsz m_2015_ua
7 geomsz m_2015_ua
คณิตศาสตร์ ม.2 เลขยกกำลัง
คณิตศาสตร์ ม.2 เลขยกกำลัง
вектори і координати у просторі
вектори і координати у просторі
Числовые промежутки
Числовые промежутки
Наслідки аксіом стереометрії
Наслідки аксіом стереометрії
паралелограм
паралелограм
บทที่5.pdf
บทที่5.pdf
Similar to VBAで数値計算 07 ベクトル
【Deep Learning (MIT Press)】線形代数 2.1~2.7
【Deep Learning (MIT Press)】線形代数 2.1~2.7
京都大学人工知能研究会 KaiRA
応用数学レポート
応用数学レポート
ssuser441cb9
情報幾何学の基礎 第2章 4.5
情報幾何学の基礎 第2章 4.5
Tatsuki SHIMIZU
さくっと線形代数
さくっと線形代数
Kota Mori
VBAで数値計算 09 掃き出し法
VBAで数値計算 09 掃き出し法
Katsuhiro Morishita
VBAで数値計算 10 逆行列と疑似逆行列
VBAで数値計算 10 逆行列と疑似逆行列
Katsuhiro Morishita
ラビットチャレンジレポート 応用数学
ラビットチャレンジレポート 応用数学
HiroyukiTerada4
データ解析2 線形代数の復習
データ解析2 線形代数の復習
Hirotaka Hachiya
Similar to VBAで数値計算 07 ベクトル
(8)
【Deep Learning (MIT Press)】線形代数 2.1~2.7
【Deep Learning (MIT Press)】線形代数 2.1~2.7
応用数学レポート
応用数学レポート
情報幾何学の基礎 第2章 4.5
情報幾何学の基礎 第2章 4.5
さくっと線形代数
さくっと線形代数
VBAで数値計算 09 掃き出し法
VBAで数値計算 09 掃き出し法
VBAで数値計算 10 逆行列と疑似逆行列
VBAで数値計算 10 逆行列と疑似逆行列
ラビットチャレンジレポート 応用数学
ラビットチャレンジレポート 応用数学
データ解析2 線形代数の復習
データ解析2 線形代数の復習
More from Katsuhiro Morishita
数ページの卒業論文作成のためのwordの使い方
数ページの卒業論文作成のためのwordの使い方
Katsuhiro Morishita
Pythonのパッケージ管理ツールの話@2020
Pythonのパッケージ管理ツールの話@2020
Katsuhiro Morishita
オトナのpandas勉強会(資料)
オトナのpandas勉強会(資料)
Katsuhiro Morishita
SIgfox触ってみた in IoTLT in 熊本市 vol.3
SIgfox触ってみた in IoTLT in 熊本市 vol.3
Katsuhiro Morishita
Google Colaboratoryの使い方
Google Colaboratoryの使い方
Katsuhiro Morishita
Excelでのグラフの作成方法re
Excelでのグラフの作成方法re
Katsuhiro Morishita
Pythonのmain関数
Pythonのmain関数
Katsuhiro Morishita
Pythonスクリプトの実行方法@2018
Pythonスクリプトの実行方法@2018
Katsuhiro Morishita
機械学習と主成分分析
機械学習と主成分分析
Katsuhiro Morishita
Pythonで始めた数値計算の授業@わんくま勉強会2018-04
Pythonで始めた数値計算の授業@わんくま勉強会2018-04
Katsuhiro Morishita
マークシート読み込みプログラムを作ってみた@2018-04-04
マークシート読み込みプログラムを作ってみた@2018-04-04
Katsuhiro Morishita
オトナの画像認識 2018年3月21日実施
オトナの画像認識 2018年3月21日実施
Katsuhiro Morishita
LoRa-WANで河川水位を計測してみた@IoTLT@熊本市 vol.001
LoRa-WANで河川水位を計測してみた@IoTLT@熊本市 vol.001
Katsuhiro Morishita
シリーズML-08 ニューラルネットワークを用いた識別・分類ーシングルラベルー
シリーズML-08 ニューラルネットワークを用いた識別・分類ーシングルラベルー
Katsuhiro Morishita
シリーズML-07 ニューラルネットワークによる非線形回帰
シリーズML-07 ニューラルネットワークによる非線形回帰
Katsuhiro Morishita
シリーズML-06 ニューラルネットワークによる線形回帰
シリーズML-06 ニューラルネットワークによる線形回帰
Katsuhiro Morishita
シリーズML-05 ニューラルネットワーク
シリーズML-05 ニューラルネットワーク
Katsuhiro Morishita
シリーズML-03 ランダムフォレストによる自動識別
シリーズML-03 ランダムフォレストによる自動識別
Katsuhiro Morishita
シリーズML-01 機械学習の概要
シリーズML-01 機械学習の概要
Katsuhiro Morishita
Pandas利用上のエラーとその対策
Pandas利用上のエラーとその対策
Katsuhiro Morishita
More from Katsuhiro Morishita
(20)
数ページの卒業論文作成のためのwordの使い方
数ページの卒業論文作成のためのwordの使い方
Pythonのパッケージ管理ツールの話@2020
Pythonのパッケージ管理ツールの話@2020
オトナのpandas勉強会(資料)
オトナのpandas勉強会(資料)
SIgfox触ってみた in IoTLT in 熊本市 vol.3
SIgfox触ってみた in IoTLT in 熊本市 vol.3
Google Colaboratoryの使い方
Google Colaboratoryの使い方
Excelでのグラフの作成方法re
Excelでのグラフの作成方法re
Pythonのmain関数
Pythonのmain関数
Pythonスクリプトの実行方法@2018
Pythonスクリプトの実行方法@2018
機械学習と主成分分析
機械学習と主成分分析
Pythonで始めた数値計算の授業@わんくま勉強会2018-04
Pythonで始めた数値計算の授業@わんくま勉強会2018-04
マークシート読み込みプログラムを作ってみた@2018-04-04
マークシート読み込みプログラムを作ってみた@2018-04-04
オトナの画像認識 2018年3月21日実施
オトナの画像認識 2018年3月21日実施
LoRa-WANで河川水位を計測してみた@IoTLT@熊本市 vol.001
LoRa-WANで河川水位を計測してみた@IoTLT@熊本市 vol.001
シリーズML-08 ニューラルネットワークを用いた識別・分類ーシングルラベルー
シリーズML-08 ニューラルネットワークを用いた識別・分類ーシングルラベルー
シリーズML-07 ニューラルネットワークによる非線形回帰
シリーズML-07 ニューラルネットワークによる非線形回帰
シリーズML-06 ニューラルネットワークによる線形回帰
シリーズML-06 ニューラルネットワークによる線形回帰
シリーズML-05 ニューラルネットワーク
シリーズML-05 ニューラルネットワーク
シリーズML-03 ランダムフォレストによる自動識別
シリーズML-03 ランダムフォレストによる自動識別
シリーズML-01 機械学習の概要
シリーズML-01 機械学習の概要
Pandas利用上のエラーとその対策
Pandas利用上のエラーとその対策
Recently uploaded
リアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライド
リアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライド
Ken Fukui
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide
ssusere0a682
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ssusere0a682
リアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライド
リアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライド
Ken Fukui
TEAMIN Service overview for customer_20240422.pdf
TEAMIN Service overview for customer_20240422.pdf
yukisuga3
リアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライド
リアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライド
Ken Fukui
リアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライド
リアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライド
Ken Fukui
リアル戦国探究in米沢 当日講座3スライド(スタッフ共有用)『糧は三度はさいせず』についてのスライド
リアル戦国探究in米沢 当日講座3スライド(スタッフ共有用)『糧は三度はさいせず』についてのスライド
Ken Fukui
Recently uploaded
(8)
リアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライド
リアル戦国探究in米沢 当日講座2スライド(スタッフ共有用)『人を致すも人に致されず』についてのスライド
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide
【ゲーム理論入門】ChatGPTが作成した ゲーム理論の問題を解く #3 Slide
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
ゲーム理論 BASIC 演習105 -n人囚人のジレンマモデル- #ゲーム理論 #gametheory #数学
リアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライド
リアル戦国探究in米沢 事前講座1スライド(スタッフ共有用)『川中島の謎』についてのスライド
TEAMIN Service overview for customer_20240422.pdf
TEAMIN Service overview for customer_20240422.pdf
リアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライド
リアル戦国探究in米沢 事前講座2スライド(スタッフ共有用)『両雄の強さの秘密』についてのスライド
リアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライド
リアル戦国探究in米沢 当日講座1(スタッフ共有用)『兵は詐をもって立つ』についてのスライド
リアル戦国探究in米沢 当日講座3スライド(スタッフ共有用)『糧は三度はさいせず』についてのスライド
リアル戦国探究in米沢 当日講座3スライド(スタッフ共有用)『糧は三度はさいせず』についてのスライド
VBAで数値計算 07 ベクトル
1.
2017-01更新 熊本高専 森下功啓 VBAで 数値計算07
2.
本資料の目次 ベクトルの計算 練習問題 その他 2
3.
ベクトルの計算 3
4.
ベクトルとは ベクトルとは、大きさと向きを持った量である。例えば速度 や磁束などを表現できる。ベクトルはp(𝑥𝑥𝑝𝑝, 𝑦𝑦𝑝𝑝)の様に各次元の 大きさを持つ。ベクトルの次元数は2以上である。 4 𝑥𝑥 𝑦𝑦 p(𝑥𝑥𝑝𝑝, 𝑦𝑦𝑝𝑝) 図
2次元ベクトルの例 O 𝑥𝑥 𝑦𝑦 p(𝑥𝑥𝑝𝑝, 𝑦𝑦𝑝𝑝, 𝑧𝑧𝑝𝑝) 図 3次元ベクトルの例 O 𝑧𝑧 図 n次元ベクトルの例 (描けない・・・)𝑥𝑥𝑝𝑝 𝑦𝑦𝑝𝑝 𝑧𝑧𝑝𝑝 𝑥𝑥𝑝𝑝 𝑦𝑦𝑝𝑝 *右手系
5.
ベクトルの数学的表記 ベクトルの表記方法にはいくつかある。2重線,ボールド体, 上矢印などである。2重線は手書きでよく使われる。基本的に 小文字である。本資料では、以降は小文字のボールド体を用 いる。 5 ベクトルの成分を表記する方法も複数ある。以下に例を示す。こ こで、本資料では転置をTとし、カッコには丸括弧を用いる。 𝒂𝒂 ⃗𝑎𝑎𝕔𝕔 図 ベクトルの表記方法 𝒂𝒂
= (𝑎𝑎1 𝑎𝑎2 𝑎𝑎3)T = 𝑎𝑎1 𝑎𝑎2 𝑎𝑎3 = 𝑎𝑎1 𝑎𝑎2 𝑎𝑎3
6.
ノルム(ベクトル長) ベクトル𝒙𝒙の長さ 𝒙𝒙 は、各次元が直交するならば以下の式で 求めることができる。この定義は「𝐿𝐿2ノルム」や「ユークリッ ドノルム」ともいう。本資料では以降で単にノルムと表記す る。 ここで、ノルムには複数の定義が存在する。ベクトルの長さ とは一般的にユークリッドノルムを指す。 6 𝒙𝒙
𝟐𝟐 = � 𝑖𝑖=1 𝑛𝑛 𝑥𝑥𝑖𝑖 2 *左辺の添字の2は省略することも有る。
7.
プログラミングにおける ベクトルの表現 プログラムにおいて、ベクトルの表現は基本的に配列である。 ベクトルを表す型が存在しない場合は配列を用いる。VBAで は、動作速度が気にならないならばArray型を使った方がよい。 7 Dim vector_arr(最大要素番号) As
Double ' Double型変数を格納する配列 ' ↑は初期化も要素の追加も面倒 vector_arr2 = Array(1,2,3,43,2,2,4,21,9) ' ←初期化は簡単だだが、追加は面倒 @VBA
8.
ベクトルの合成 (足し算・引き算) 次元数の同じベクトル同士では、足し算や引き算ができます。 8 𝒂𝒂 − 𝒃𝒃
= 𝑎𝑎1 − 𝑏𝑏1 𝑎𝑎2 − 𝑏𝑏2 𝑎𝑎3 − 𝑏𝑏3 𝒂𝒂 + 𝒃𝒃 = 𝑎𝑎1 + 𝑏𝑏1 𝑎𝑎2 + 𝑏𝑏2 𝑎𝑎3 + 𝑏𝑏3
9.
ベクトルの足し算の実装 ベクトルの足し算を行うVBAの実装例を左に示す。 9 Function vector_plus(vect1, vect2) ans
= vect1 ' deep copy For i = 0 To UBound(ans) ans(i) = vect1(i) + vect2(i) Next i vector_plus = ans End Function @VBA 2つの引数とも、Array型 *実用上はベクトルの要素数 が異なるかどうかのチェッ クを行った方が良い。
10.
ベクトルの引き算の実装 ベクトルの引き算を行うVBAの実装例を左に示す。 10 Function vector_minus(vect1, vect2) ans
= vect1 ' deep copy For i = 0 To UBound(ans) ans(i) = vect1(i) - vect2(i) Next i vector_minus = ans End Function @VBA 2つの引数とも、Array型
11.
ベクトルのスカラー倍 ベクトルにスカラーを掛けることでベクトル長(ベクトルの 大きさ)を変化させる事ができます。ここで、スカラー倍し ても向きは変わらないことに注意して下さい。 11 𝑐𝑐𝒂𝒂 = 𝑐𝑐 𝑎𝑎1 𝑎𝑎2 𝑎𝑎3 = 𝑐𝑐𝑎𝑎1 𝑐𝑐𝑎𝑎2 𝑐𝑐𝑎𝑎3
12.
スカラー倍の実装 ベクトルに定数を掛ける実装例を左に示す。 12 Function vector_times(vect, coefficient) ans
= vect ' deep copy For i = 0 To UBound(vect) ans(i) = coefficient * vect(i) Next i vector_times = ans End Function @VBA vectはArray型, coefficientは掛ける係数 (スカラー値)
13.
内積 内積とは、各次元の要素同士を掛け合わせてその和を取った ものである。直行したベクトル同士の内積では0が得られる。 内積の表記方法にはいくつか流儀が有る。以下に内積の表記 と計算方法を示す。 13 𝒂𝒂 � 𝒃𝒃
= 𝒂𝒂, 𝒃𝒃 = 𝒃𝒃, 𝒂𝒂 = 𝒂𝒂 𝒃𝒃 cos 𝜃𝜃 = � 𝑖𝑖=1 𝑛𝑛 𝑎𝑎𝑖𝑖 𝑏𝑏𝑖𝑖 𝒂𝒂 𝒃𝒃 𝜃𝜃 *それぞれのノルムを1に調整した (正規化)後に内積を取ると、ベ クトルのある種の相関を取ること ができる。 𝒂𝒂 cos 𝜃𝜃
14.
内積の実装 ベクトルの内積を行うVBAの実装例を左に示す。 14 Function vector_inner(vect1, vect2) ans
= 0 For i = 0 To UBound(vect1) ans = ans + vect1(i) * vect2(i) Next i vector_inner = ans End Function @VBA 2つの引数とも、Array型
15.
外積(クロス積) 外積(クロス積: vector product)とは、2つのベクトルで張る 平方四辺形の面積の大きさを持ち、2つのベクトルに直行した 方向に向くベクトルを求める操作である。外積におけるベク トルの次元数は3である。外積の定義式を以下に示す。 外積は3Dポリゴンの向きの計算にも使える。 15𝒂𝒂 𝒃𝒃 𝒄𝒄 *
𝒄𝒄は𝒂𝒂と𝒃𝒃の張る平面に直交し ている。 𝒄𝒄 の向きは右ねじ方向。 *「外積」は多義的なので注意 **高次元に拡張した概念も有る 𝒂𝒂 × 𝒃𝒃 = −𝒃𝒃 × 𝒂𝒂 = 𝒂𝒂, 𝒃𝒃 = 𝑎𝑎2 𝑏𝑏3 − 𝑎𝑎3 𝑏𝑏2 𝑎𝑎3 𝑏𝑏1 − 𝑎𝑎1 𝑏𝑏3 𝑎𝑎1 𝑏𝑏2 − 𝑎𝑎2 𝑏𝑏1 = 𝒆𝒆1 𝑎𝑎1 𝑏𝑏1 𝒆𝒆2 𝑎𝑎2 𝑏𝑏2 𝒆𝒆3 𝑎𝑎3 𝑏𝑏3 * 𝒆𝒆は直行基底ベクトル
16.
外積の実装 16 ベクトルの外積を行うVBAの実装例を左に示す。 Function vector_cross(vect1, vect2) ans
= vect1 ' deep copy ans(0) = vect1(1) * vect2(2) - vect1(2) * vect2(1) ans(1) = vect1(2) * vect2(0) - vect1(0) * vect2(2) ans(2) = vect1(0) * vect2(1) - vect1(1) * vect2(0) vector_cross = ans End Function @VBA 2つの引数とも、Array型
17.
ノルムの実装 ノルムを内積を使って書き直すと下記のようになる。これを 用いて関数を簡略化できる。VBAにおけるノルムの実装例を 左に示す。 17 𝒙𝒙 𝟐𝟐 =
𝒙𝒙, 𝒙𝒙 = � 𝑖𝑖=1 𝑛𝑛 𝑥𝑥𝑖𝑖 2 Function vector_norm(vect) v = vector_inner(vect, vect) vector_norm = v ^ 0.5 End Function @VBA Array型
18.
正規化(ノルムを1にする) 単位ベクトルを求める際や、ベクトル同士を比較する際や、 内積で相関を求める際にノルムを1にしたほうが良いことが有 る。ノルムを1にするにはベクトルをそのノルムで割れば良い。 以下に定義式を示す。 18 𝒏𝒏 = 𝒂𝒂 𝒂𝒂
19.
正規化の実装 VBAにおけるノルムの正規化の実装例を左に示す。 19 Function vector_normalization(vect) Length =
vector_norm(vect) vector_normalization = vector_times(vect, 1 / Length) End Function @VBA Array型
20.
練習問題 20
21.
データ 各設問で用いるデータを以下よりダウンロードせよ。 21 https://www.dropbox.com/s/xygbnu1ivwzkow4/city.xlsx?dl=0
22.
問1, 2の設問の背景 〜実際のデータでベクトルを語る〜 例えば、都市の人口や面積,マンションの戸数,駅の数,人 口,大学キャンパスの数などを調べたとする。それらのデー タを並べたものを以下に示す。ここで、行方向に1レコードの データが格納されている。 22 この様な1レコードのデータもベクトルとみなすことができる。 ここで、注意してほしいのが各次元の単位の違いである。レコー ド間の内積を求めればデータの類似性を抽出できるが、分散の小 さな次元は実質的に無視されるためそのままだと類似性の判定能 力が低い。レコード間の比較を行うには各次元で正規化(数量に 対する正規化)を行う必要がある。 都市名 人口[人]
面積[km2] 戸数 駅の数 Kumamoto1 10 20 7 9 Kagoshima 11 20 12 5 Fukuoka 30 40 30 50 *数値はダミーです。
23.
問1 次元毎の正規化 Sheet1のデータに対し、各次元毎に(各列毎に)正規化し、 それを元データの下方に保存するプログラムを実装せよ。こ こでの正規化とは、各次元毎にN(0, 1)に調整することを指す。 23 平均0.0,
標準偏差1.0
24.
問2 類似データの抽出 Sheet1を正規化したデータを用いて類似データを抽出したい。 元データの4番目に最も似たレコードは元データの何番目か求 めよ。ここで、内積の値が最も大きいものを最類似データと 定義する。 *各レコードのノルムを1に調整した上で内積を計算せよ。 24
25.
問3 ベクトルの積分 Sheet2にとある物体に関する時刻と速度v(x, y)のデータを示 す。時刻0を基準として、最終的に到達した座標を求めよ。こ こで、d𝒙𝒙
= 𝒗𝒗d𝑡𝑡である。 25
26.
その他 26
27.
参考文献 SAK Streets -
VB 開発言語資料 http://sak.cool.coocan.jp/w_sak3/doc/sysbrd/sak3vb.htm 基本的にVB6.0の解説だが、VBAにほぼそのまま適用できる。かなり詳しい。 [1]ノルムの意味とL1,L2,L∞ノルム, http://mathtrain.jp/lpnorm 27
Download now