SlideShare a Scribd company logo
1 of 24
MATLAB講習
基礎編
数値計算ソフトを使えるようになる
最終改訂:2021/04/14
はじめに 2
MATLABは,科学計算に特化した数値解析ソフトウェア.
• 数値解析(シミュレーション)
• 信号処理
• データ解析
• 機械学習
様々な計算に対応する
多用なツールボックスを備えている.
最近では,ロボティクスの需要に応えるため,
Robotics toolboxや,ROS (Robot OS)との連携もできるようにアップデートされた.
• データの扱いが簡単
変数の型を指定する必要がない
• プログラミングが簡単
Pythonのように,シンプルなコードで書ける
• 描画が得意
きれいなプロットを簡単に作成可能
もくじ
1. 基本的な使い方
2. プログラムを作る
3. 可視化する
4. 構造体とオブジェクト指向プログラミング
5. 付録
3
MATLABの画面
• MATLABを立ち上げると,以下のような画面が出てくる.
ここにコマンドを書く
4
とりあえずなにか計算してみる
1. 変数を作る
1. コマンドウィンドウに と入力する.
2. コマンドウィンドウに と入力する.
2. 計算する
1. 足し算をしてみる.
2. 掛け算をしてみる.
3. 新しい変数に,計算結果を代入する
>> a=2;
>> b=3;
>> a+b
>> a*b
コマンドの後ろに”;”をつけると,結果が表示されない.
計算結果がいちいち出てくると鬱陶しいときは便利.
>> c=a/b
加算: +
減算: -
乗算: *
除算: /
5
行列計算をしてみる | ベクトルと行列の定義
• MATLABは行列計算に強いので,いろいろ遊んでみよう.
1. ベクトルの計算
1. と入力すると,横ベクトル𝑝 = [1 2 3]が生成される.
2. と入力すると,縦ベクトル𝑞 =
1
2
3
が生成される.
2. 行列の定義
1. と入力すると,行列𝐴 =
1 2
3 4
が生成される.
>> A=[1 2; 3 4]
>> p=[1 2 3]
>> q=[1 2 3]’
転置を意味する
改行を意味する
6
>> q=[1; 2; 3]
TRY と入力するとどうなるだろうか.
準備: 行列𝐵を定義しておきます.
行列計算をしてみる | 行列の演算
1. 行列の掛け算
1. スカラーと行列の掛け算は, と書ける.
2. 行列と行列の掛け算は, と書ける.
2. 逆行列は, で簡単に求められる.
3. 固有値と固有ベクトルは, で求められる.
Vは固有ベクトルからなる正方行列で,各列が固有ベクトル.
Dは固有値を対角に持つ対角行列.
>> a*A
>> [V,D]=eig(A)
>> inv(A)
>> B = [3 4; 5 6]
>> A*B
練習問題
行列 𝑄 =
0 1 1
−4 4 2
2 −1 1
を対角化せよ.
7
1. スカラーとベクトルの掛け算は, と書ける.
2. ベクトルの積を計算してみよう.
1. 二つの縦ベクトル を定義する.
2. ベクトル𝑢と𝑣の内積は,
3. ベクトル𝑢と𝑣の外積は,
行列計算をしてみる | ベクトルの演算
>> a*p
>> u=[2;3;4] >> v=[5;6;7]
>> dot(u,v)
>> cross(u,v)
ベクトル𝑢と𝑣の内積は,𝑢 ∙ 𝑣 = 𝑢⊤𝑣で求められる.すなわち,
でも計算できる.
>> u’*v
8
ワークスペースの管理
• 作られた変数は,ワークスペースに残り続ける.
• ワークスペースを保存することができる.
• とすると,「filename.mat」が保存される
• 一部の変数だけを保存したいときは, とする
• ファイルは現在のフォルダーに保存される
• ワークスペース内を削除したいときは
• 目的の変数のみを削除したいときは
>> clear
>> clearvars A b p
>> save(’filename’)
>> save(’filename’,’A’,’b’)
9
スクリプトを使う
• 作業が多いと,一行ごとに書いていくのは大変である.
• そこで,コマンドをまとめてスクリプトにすることができる.
ここにコマンドを書く
10
スクリプトを書いてみる
• コマンドウィンドウに書いていたのと同様にコマンドを書いていく.
• MATLABはコンパイルを必要としないスクリプト言語であり,「実行」を押したら上から順番に
実行される
• スクリプトは保存しないと実行できない.また,現在のフォルダにないと実行できない.
まとめて実行
% 以降の文字列はコメントとみなされ,実行されない
%% と2つ続けて書くと,セクションとして認識される
念のため,前回の計算結果が残らないように,
はじめにclearしておくと良い
11
sin関数のプロット
• MATLABは描画機能も充実しており,2次元プロットも3次元プロットもできる.
figure プロットするウィンドウを生成
plot(x,y) xに対するyを2次元にプロット.ベクトルxとyは同じサイズでないといけない.
xlabel 軸の説明を追加.TeX形式を使ってきれいに書くことができる
12
Commands
関数を作る
• MATLABには,sin関数のように予め定義された変数がたくさんある.
• それに加えて,自分で関数を作ることもできる.
13
スクリプトで function と書くと,引数と返り値をもつ関数が定義できる.
関数内で中間変数を定義できる.
これはワークスペースに残らない
練習問題 4次のルンゲクッタ法で微分方程式を解いてみよう
𝑥 + 2𝑥 + 3𝑥 = 𝑒−2𝑡
ライブスクリプトを活用する
• ライブスクリプトを使用すると,充実したノート機能を使用できる.
• 詳しい説明や,数式を記入することができて便利!
• 計算結果も一緒に表示してくれるので,ひと目で計算が把握できる.
14
ノートはフォーマットを決めて,タイトルを付けたりできる
「挿入」タブから数式の入力が可能
MATLABコードとノートを任意に切替可能
計算結果や図はノートの右スペースに表示される
練習問題
1. 行列 𝑄 =
0 1 1
−4 4 2
2 −1 1
を対角化しよう
2. 4次のルンゲクッタ法アルゴリズムを組み,微分方程式を解いてみよう
可能なら,解析解を求め,数値計算の結果と並べてプロットしてみよう
(数値計算は十分な精度で計算できているか?)
15
(2) 𝑥 + 2𝑥 + 3𝑥 = 𝑒−2𝑡
初期値は𝑥 𝑡 = 1, 𝑥 𝑡 = 0
(1) 𝑥 − 2𝑥 = 𝑒𝑡
初期値は𝑥 𝑡 = 0
構造体でプログラムをシンプルに書く
• 関数の引数が長いと書くのが大変
• 「構造体」を使ってまとめてしまえば,簡単に書き表せる
dx = F (t, x, m1, m2, J1, J2, l1, l2, d1, d2, g);
param.m1 = 1.0;
param.m2 = 1.0;
param.J1 = 1.5;
param.J2 = 1.5;
param.l1 = 1.0;
param.l2 = 1.0;
param.d1 = 0.5;
param.d2 = 0.5;
param.g = 9.8;
dx = F (t, x, param);
‘param’ という構造体の中に,
たくさんの変数が存在する
「構造体名.変数名」というフォーマット
(.の後に変数名を書く)
‘param’ だけ引いてしまえば,
中身の変数が全部ついてくる
param = [1.0 1.0 1.5 1.5 1.0 1.0 0.5 0.5 9.8]
とするよりも,各変数の意味がわかりやすい
16
オブジェクト指向プログラミングへの発展
• 「オブジェクト」はデータ(メンバ変数)と命令(メソッド)が一体になっている
• 構造体のように多くの変数をまとめて管理できる
• メソッドとして,関数を内部に持つことができる
17
戦隊物クラス
• 色
• 得意技
• 変身(色,得意技)
• 得意技で戦う
メンバ変数 メソッド
実体化
色:赤
得意技:仁王立ち
例
「クラス」はオブジェクトの
設計図
クラスから実際にオブジェクトを生成することを実体化という
生成したオブジェクトを「インスタンス」とも呼ぶ
クラスとインスタンス
• 同じ設計図(クラス)から,様々なインスタンスを作れる
• 「戦隊物クラス」からたくさんのヒーローが作れる
• この場合,「色」と「得意技」は実体化の瞬間に代入しておいたほうがいい
• 実体化した瞬間に実行されるメソッドを作れる.これをコンストラクタという
18
戦隊物クラス
• 色
• 得意技
• 変身(色,得意技)
• 得意技で戦う
メンバ変数 メソッド
実体化
色:赤
得意技:仁王立ち
実体化
色:青
得意技:手刀
実体化
色:ピンク
得意技:踊る
例 コンストラクタにしておくのがよい
MATLABプログラムにするとこんな感じ
戦隊物クラス
• 色
• 得意技
• 変身(色,得意技)
• 得意技で戦う
メンバ変数 メソッド
例
コンストラクタ
classdef ranger
properties % メンバ変数
color;
skill;
end
methods
function ranger(self, color_, skill_)
self.color = color_;
self.skill = skill_;
end
function fight(self)
~~~
end
end
end
clear
% 赤レンジャーの実体化
akaRanger = ranger(‘red‘,‘Kamehameha‘);
% 赤レンジャーに戦わせる(引数不要)
akaRanger.fight;
% 青レンジャーになってもらう
akaRanger.color = ‘blue‘;
ranger.m main.m
コンストラクタはクラス名と同じメソッド
19
付録 | 見やすいフォントに変更しよう
• 1とl,0とOなど,見分けにくい文字が多いと大変!
• MATLABの表示フォントを変更してみよう
見やすいフォントの例
• consolas
• メイリオ
• Osaka-等幅
など
20
• 等差数列
• ゼロベクトル(行列)
付録 | 便利なコマンド集
>> a=1:2:9
入力 a=
1 3 5 7 9
出力
(初項):(公差):(末項)
形式
例
zeros(行,列)
形式
>> b=zeros(2,3)
入力 b =
0 0 0
0 0 0
出力
例
21
付録 | 基本構造①
• 条件分岐(IF)
• 繰り返し(FOR)
22
disp(’Please input 1’)
x = input(prompt)
if x == 1
disp(’Thanks’)
else
disp(’Nooo! ’)
end
if 条件A
(条件Aに合致したときの処理)
else if 条件B
(条件Bに合致したときの処理)
else
(条件AにもBにも合致しないときの処理)
end
形式 例
for (変数)=(初項):(公差):(末項)
(繰り返す処理)
end
形式 NUM = 100;
x = zeros(NUM);
x(1) = 1;
x(2) = 1;
for i = 3:NUM
x(i) = x(i-1)+x(i-2);
end
例
公差は省略可能.
省略した場合,公差は自動的に1になる.
付録 | 基本構造②
• 条件分岐(SWITCH)
• 繰り返し(WHILE)
23
disp(’Input 1,2,3,or 4’)
x = input(prompt)
switch x
case 1
disp(’You Win!’);
otherwise
disp(’You Lose... ’)
end
switch (変数)
case (値1)
(変数==値1のときの処理)
case (値2)
(変数==値2のときの処理)
otherwise
(どれにも当てはまらないときの処理)
end
形式 例
while (条件)
(条件を満たす間,繰り返す処理)
end
形式 x = 0;
while x < 100
x = x + 1;
end
例
付録 | 論理演算子など
• 等しい
• 等しくない
• 不等号
• AND(かつ)
• OR(または)
24
x == 1
x ~= 1
x < 1 x > 1
x <= 1 x >= 1
x == 1 && y ==2
x == 1 || y ==2
AND
OR
x != 1 とする言語もあるので注意

More Related Content

What's hot

不均衡データのクラス分類
不均衡データのクラス分類不均衡データのクラス分類
不均衡データのクラス分類
Shintaro Fukushima
 
異常行動検出入門 – 行動データ時系列のデータマイニング –
異常行動検出入門 – 行動データ時系列のデータマイニング –異常行動検出入門 – 行動データ時系列のデータマイニング –
異常行動検出入門 – 行動データ時系列のデータマイニング –
Yohei Sato
 

What's hot (20)

言語モデル入門 (第二版)
言語モデル入門 (第二版)言語モデル入門 (第二版)
言語モデル入門 (第二版)
 
クラシックな機械学習の入門 3. 線形回帰および識別
クラシックな機械学習の入門 3. 線形回帰および識別クラシックな機械学習の入門 3. 線形回帰および識別
クラシックな機械学習の入門 3. 線形回帰および識別
 
計算論的学習理論入門 -PAC学習とかVC次元とか-
計算論的学習理論入門 -PAC学習とかVC次元とか-計算論的学習理論入門 -PAC学習とかVC次元とか-
計算論的学習理論入門 -PAC学習とかVC次元とか-
 
不均衡データのクラス分類
不均衡データのクラス分類不均衡データのクラス分類
不均衡データのクラス分類
 
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
マルコフ連鎖モンテカルロ法 (2/3はベイズ推定の話)
 
変分ベイズ法の説明
変分ベイズ法の説明変分ベイズ法の説明
変分ベイズ法の説明
 
階層ベイズと自由エネルギー
階層ベイズと自由エネルギー階層ベイズと自由エネルギー
階層ベイズと自由エネルギー
 
新分野に飛び入って半年で業績を作るには
新分野に飛び入って半年で業績を作るには新分野に飛び入って半年で業績を作るには
新分野に飛び入って半年で業績を作るには
 
異常行動検出入門 – 行動データ時系列のデータマイニング –
異常行動検出入門 – 行動データ時系列のデータマイニング –異常行動検出入門 – 行動データ時系列のデータマイニング –
異常行動検出入門 – 行動データ時系列のデータマイニング –
 
PRML輪読#13
PRML輪読#13PRML輪読#13
PRML輪読#13
 
[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習[DL輪読会]相互情報量最大化による表現学習
[DL輪読会]相互情報量最大化による表現学習
 
NIP2015読み会「End-To-End Memory Networks」
NIP2015読み会「End-To-End Memory Networks」NIP2015読み会「End-To-End Memory Networks」
NIP2015読み会「End-To-End Memory Networks」
 
深層学習 勉強会第1回 ディープラーニングの歴史とFFNNの設計
深層学習 勉強会第1回 ディープラーニングの歴史とFFNNの設計深層学習 勉強会第1回 ディープラーニングの歴史とFFNNの設計
深層学習 勉強会第1回 ディープラーニングの歴史とFFNNの設計
 
複素ラプラス分布に基づく非負値行列因子分解
複素ラプラス分布に基づく非負値行列因子分解複素ラプラス分布に基づく非負値行列因子分解
複素ラプラス分布に基づく非負値行列因子分解
 
KDD'17読み会:Anomaly Detection with Robust Deep Autoencoders
KDD'17読み会:Anomaly Detection with Robust Deep AutoencodersKDD'17読み会:Anomaly Detection with Robust Deep Autoencoders
KDD'17読み会:Anomaly Detection with Robust Deep Autoencoders
 
機械学習と深層学習の数理
機械学習と深層学習の数理機械学習と深層学習の数理
機械学習と深層学習の数理
 
Rで架空データの発生
Rで架空データの発生Rで架空データの発生
Rで架空データの発生
 
PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)PRMLの線形回帰モデル(線形基底関数モデル)
PRMLの線形回帰モデル(線形基底関数モデル)
 
CVPR2019読み会 "A Theory of Fermat Paths for Non-Line-of-Sight Shape Reconstruc...
CVPR2019読み会 "A Theory of Fermat Paths  for Non-Line-of-Sight Shape Reconstruc...CVPR2019読み会 "A Theory of Fermat Paths  for Non-Line-of-Sight Shape Reconstruc...
CVPR2019読み会 "A Theory of Fermat Paths for Non-Line-of-Sight Shape Reconstruc...
 
時系列予測にTransformerを使うのは有効か?
時系列予測にTransformerを使うのは有効か?時系列予測にTransformerを使うのは有効か?
時系列予測にTransformerを使うのは有効か?
 

Similar to Matlab講習2021

今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
YoheiOkuyama
 
第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章
Tomonobu_Hirano
 
Scalaプログラミング・マニアックス
Scalaプログラミング・マニアックスScalaプログラミング・マニアックス
Scalaプログラミング・マニアックス
Tomoharu ASAMI
 
Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)
Shintaro Fukushima
 
オブジェクト指向開発におけるObject-Functional Programming
オブジェクト指向開発におけるObject-Functional Programmingオブジェクト指向開発におけるObject-Functional Programming
オブジェクト指向開発におけるObject-Functional Programming
Tomoharu ASAMI
 
初心者講習会資料(Osaka.r#6)
初心者講習会資料(Osaka.r#6)初心者講習会資料(Osaka.r#6)
初心者講習会資料(Osaka.r#6)
Masahiro Hayashi
 
Object-Funcational Analysis and design
Object-Funcational Analysis and designObject-Funcational Analysis and design
Object-Funcational Analysis and design
Tomoharu ASAMI
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料
Recruit Technologies
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
Recruit Technologies
 

Similar to Matlab講習2021 (20)

統計環境R_はじめの一歩2016
統計環境R_はじめの一歩2016統計環境R_はじめの一歩2016
統計環境R_はじめの一歩2016
 
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
今さら聞けないHadoop勉強会第3回 セントラルソフト株式会社(20120327)
 
第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章第一回Data mining勉強会 -第二章
第一回Data mining勉強会 -第二章
 
第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案第一回Data mining勉強会 -第二章 - 原案
第一回Data mining勉強会 -第二章 - 原案
 
Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標
Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標
Object-Functional Analysis and Design : 次世代モデリングパラダイムへの道標
 
Scalaプログラミング・マニアックス
Scalaプログラミング・マニアックスScalaプログラミング・マニアックス
Scalaプログラミング・マニアックス
 
初心者講習会資料(Osaka.R#7)
初心者講習会資料(Osaka.R#7)初心者講習会資料(Osaka.R#7)
初心者講習会資料(Osaka.R#7)
 
Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)Rあんなときこんなとき(tokyo r#12)
Rあんなときこんなとき(tokyo r#12)
 
オブジェクト指向開発におけるObject-Functional Programming
オブジェクト指向開発におけるObject-Functional Programmingオブジェクト指向開発におけるObject-Functional Programming
オブジェクト指向開発におけるObject-Functional Programming
 
第一回ゆるふわーる
第一回ゆるふわーる第一回ゆるふわーる
第一回ゆるふわーる
 
初心者講習会資料(Osaka.r#6)
初心者講習会資料(Osaka.r#6)初心者講習会資料(Osaka.r#6)
初心者講習会資料(Osaka.r#6)
 
Introduction of Python
Introduction of PythonIntroduction of Python
Introduction of Python
 
はじめての「R」
はじめての「R」はじめての「R」
はじめての「R」
 
Object-Funcational Analysis and design
Object-Funcational Analysis and designObject-Funcational Analysis and design
Object-Funcational Analysis and design
 
つくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタつくってあそぼ ラムダ計算インタプリタ
つくってあそぼ ラムダ計算インタプリタ
 
WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料WebDB Forum 2012 基調講演資料
WebDB Forum 2012 基調講演資料
 
What is template
What is templateWhat is template
What is template
 
20180630 data transformationusinglogicflow
20180630 data transformationusinglogicflow20180630 data transformationusinglogicflow
20180630 data transformationusinglogicflow
 
プログラムの処方箋~健康なコードと病んだコード
プログラムの処方箋~健康なコードと病んだコードプログラムの処方箋~健康なコードと病んだコード
プログラムの処方箋~健康なコードと病んだコード
 
ビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラムビッグデータ活用支援フォーラム
ビッグデータ活用支援フォーラム
 

Recently uploaded

Recently uploaded (10)

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 

Matlab講習2021