Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
2026_講義_コンピューティングデザイン論_第1回外部公開版.pdf
Search
Hisashi Ishihara
October 02, 2026
32
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
2026_講義_コンピューティングデザイン論_第1回外部公開版.pdf
コンピューティングデザイン論第1回(2026/9/30)の講義スライド(一部改変版)です
Hisashi Ishihara
October 02, 2026
Featured
See All Featured
Scaling GitHub
holman
464
140k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
460
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
400
[RailsConf 2023] Rails as a piece of cake
palkan
59
7.1k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.4k
Discover your Explorer Soul
emna__ayadi
2
1.3k
Navigating Team Friction
lara
192
16k
The Curious Case for Waylosing
cassininazir
1
570
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
25
2.1k
How GitHub (no longer) Works
holman
316
150k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1.1k
The Pragmatic Product Professional
lauravandoore
37
7.5k
Transcript
立命館大学 デザイン・アート学研究科 博士課程 前期課程 コンピューティングデザイン論 第1回:MATLABの基本①:データ表現と演算 石原尚 立命館大学 デザイン・アート学部 教授
※授業自体は伊東先生と共同担当ですが 今回講義内容は石原に内容責任があります
講義概要(シラバスからの抜粋) 2 水曜(オンデマンド)・2単位・全14回 高度かつ複雑な数理演算を扱うためのコンピューティング技術を活用し、 より多彩なデザインやアート制作を実現するための技術的枠組みを学ぶ まず、MATLABとPythonの基本を習得し、そのうえで、MATLAB App DesignerとROS2の扱い方を体験的に理解
これらの習得を土台として、学部で修得した技術と知識を統合・発展させ、 新たなマルチモーダルな表現や対話および体験を統合的に生み出す力を養う 何らかのプログラミング言語は習得していることを推奨 第5回以降は各自のPC(Windows推奨)に開発環境を整備する必要あり Windows上にROS2を動かせるLinux環境(WSL2など)を導入します。Macの方は応相談。
MATLABとPythonを用いた学習ツリー 3 MATLABとPythonを行き来しつつ最後に統合 統合システム開発(10~14回) •学んだ内容を統合したシステム開発 •自身の研究での利用も意識 システムの大規模化に向けた構成法を理解 各PCにMATLABおよび MATLAB App
Designer を整備して利用 ※Macでも可 ブラウザ上で動作する MATLAB Onlineを使用 ※Macでも可 MATLAB応用(5・6回) •MATLAB App Designer導入 •GUI画面の開発 •GUI画面でのデータ操作 MATLAB基礎(1・2回) •データ表現と基本的演算 •機能モジュール化と可視化 基礎を踏まえて 実践的・本格的な システム実現法を理解 共通点と相違点を 整理しながら プログラミング言語の 基本を理解 ※ROS2は伊東先生 ご担当 Python応用(7~9回) •ROS2開発環境整備 •ROS2の設計思想と構成 •ROS2でのデータ通信 Python基礎(3・4回) 各PCにPythonおよび ROS2開発環境を整備して 利用 ※ここでWindows上に Linux環境を構築 ブラウザ上で動作する •データ表現と基本的演算 JupyterLiteを使用 •機能モジュール化と可視化 ※Macでも可
コンピューティング技術 情報システムの実現を支える重要技術 情報システム 組織体(または社会・個人)の活動に必要な情報の収集・蓄積・処理・ 伝達・利用にかかわる仕組み [情報システム学会] 企業情報システム:販売管理システム・在庫管理システム・顧客管理システムなど
社会情報システム:交通管制システム・座席予約システム・預金口座システムなど 情報通信ネットワークを活用し、様々なデータを収集・共有し、伝達 することで運用されるシステム [高等学校情報科「情報Ⅱ」教員研修用教材情報II] SNS・グループチャット・eラーニングなど コンピューティング技術 コンピュータを使用した情報の処理や解析の技術 入力、処理、出力をコンピュータに命令する技術 4
情報システムの構成の大枠➀ 5 ネットワークを介して人・環境・コンピュータが繋がる LAN、インターネットなど Windows、MacOS、 Linuxなど 開発者 ユーザ 環境 通信装置
ハードウェア 応用ソフトウェア (Application) モデム/ONU、 ルータなど 基盤ソフトウェア (Operating System) 入出力装置 演算装置・記憶装置 コンピュータ(ノイマン型コンピュータ) 通信装置 通信装置 ネット ワーク 通信装置
情報システムの構成の大枠➁ 6 アプリケーションの導入でコンピュータの機能が追加 開発者 ユーザ 環境 ハードウェア Excelやゲームなどに加 えて、MATLABやPython などの開発ツールも。
通信装置 応用ソフトウェア (Application) 通信装置 NEW ! 基盤ソフトウェア (Operating System) 入出力装置 演算装置・記憶装置 コンピュータ(ノイマン型コンピュータ) 通信装置 ネット ワーク 通信装置
情報システムの構成の大枠➂ 7 多数のアプリケーションの通信でさらに高機能化 別のアプリケーション群の 通信や管理を実現するもの プロセス間通信 を特にミドルウェアと呼ぶ。 MySQLやROS2など。 通信装置 開発者
ユーザ 環境 ハードウェア 通信装置 応用ソフトウェア (Application) 基盤ソフトウェア (Operating System) 入出力装置 演算装置・記憶装置 コンピュータ(ノイマン型コンピュータ) 通信装置 ネット ワーク 通信装置
情報システムの構成の大枠④ 8 各アプリケーションは「データと処理」の連なり データ 処理 プロセス間通信 通信装置 開発者 ユーザ 環境
ハードウェア 通信装置 応用ソフトウェア (Application) 基盤ソフトウェア (Operating System) 入出力装置 演算装置・記憶装置 コンピュータ(ノイマン型コンピュータ) 通信装置 ネット ワーク 通信装置
本講義での コンピューティングデザイン:情報システムのためのプログラミング 全体を見据えながらデータと処理の流れを設計する データ 命令文の構成の設計= コンピューティング デザイン 処理 プロセス間通信 通信装置
開発者 実装 = プログラミング ユーザ 環境 ハードウェア 通信装置 応用ソフトウェア (Application) 基盤ソフトウェア (Operating System) 入出力装置 演算装置・記憶装置 コンピュータ(ノイマン型コンピュータ) 通信装置 ネット ワーク 通信装置 9
ひとつの視点 10 情報システム≒生命システム 様々な要素が組織的に繋がりあい大規模化して機能を獲得 情報システム 固有の状態や能力を持つ最小要素 変数・命令文 生体システム 核・細胞小器官
固有の状態や能力を持つ最小要素 関数 細胞 特有の機能を持つ構造要素 オブジェクト 組織 筋組織・神経組織・結合組織など オブジェクトを集めて個別実行できる形にしたもの モジュール 器官 複数組織からなる機能構造物 モジュールを組み合わせて高度機能を獲得したもの アプリケーション 器官系 1つの情報装置 コンピュータ 個体 人・環境・別コンピュータも含む 情報システム 生命システム 特有の機能を持つ構造要素 多様な状態とそれらを扱う関数をまとめたもの 関連しあって大きな機能を実現するシステム 1つの生命体 生命体を維持する環境も含む
情報システムのデザイン≒生命システムのデザイン 11 命令文という要素でうまく機能する個体を作り上げる 実際の開発では上位要素から設計をはじめ、上位要素の機能要件 を満たすように下位要素の設計に落とし込んでいくが、プログラ ミング言語学習は下位から徐々に大規模化していく順で進める 下位要素:小規模で単純。低機能だが開発易。 上位要素:大規模で複雑。高機能だが開発難。
各授業回の位置づけ 12 関数化・モジュール化・ネットワーク化を段階的に 情報システム 固有の状態や能力を持つ最小要素 特有の機能を持つ構造要素 多様な状態とそれらを扱う関数をまとめたもの 変数・命令文 関数 オブジェクト
オブジェクトを集めて個別実行できる形にしたもの モジュール モジュールを組み合わせて高度機能を獲得したもの アプリケーション 関数化による構造設計 第1・2回(MATLAB基礎) 第3・4回(Python基礎) オブジェクト化・モジュール化による構造設計 第5・6回(MATLAB App Designer) ネットワーク化による構造設計 第7~9回(ROS2) 1つの情報装置 コンピュータ 構造設計演習 人・環境・別コンピュータも含む 情報システム 研究実践 第10~14回(演習課題)
デザインの最小要素:「変数」と「命令文」 Variable Value 13 Command 変数が値を保持。命令文が値を利用・加工・転送。 変数:データ読み書き用の記憶域。固有の名前で 識別される。
値:数値、文字列、ブール値(真偽値)など様々 命令文:コンピュータに対する作業指令。色々な 種類がある。 値 値 変数 変数 val_y = 代入 演算(operation):値の代入や算術計算、大小比較など if 制御(flow control):条件分岐やループ実行など 条件分岐 宣言(declaration):関数や値の型の設定など function 関数の宣言 呼出(call):宣言した関数の利用など 関数名 関数の呼出 val_x + 加算 for 規定数ループ [] 配列の宣言
演習の準備 - 立命館メールアドレスでMathWorksアカウントを作る ➀ ➂ ④ ➁ ⑤ 14
MATLAB Onlineの利用 15 利用開始 マニュアル ※情報量膨大なので 随時確認 自習用教材 ※各自で履修 今回はこれを
クリック アカウントの設定
MATLAB Online画面 16 パネルメニュー コマンド履歴の 消去が可能 パネルメニュー サイドバー ワークスペース・ ファイル検索・
コマンド履歴 のパネルの表示と 非表示の切替 コマンドウィンドウ パネルを閉じたり 最小化したり 簡単にMATLABの 命令を試せるところ ※>>の右側が新しい 命令文を入力するところ ワークスペース 作成された変数 の状態を確認 できるところ これ以降の演習は 実際にMATLAB Onlineを触りながら 進めましょう
演習1-1 数値変数の定義と値代入 17 コマンド 実行結果の自動表示 10 変数 val_x ワークスペース自動更新 val_x
がdouble型の 数値変数として新規に生成され、 10という値が入っていることが確認できる。 自動的に表示される 結果の部分では 「val_x という 名前の変数には 今10が入っています」 の意味になる。 命令文での「=」は 「右を左に代入せよ」 の意味なので 「val_x という名前の 変数に10を代入せよ」 という命令になる。 この命令文を記載して Enterキーを押すと 命令が実行される。
演習1-2 変数の文字列での上書き 18 コマンド 「val_x という名前の 変数に”Hello”という 文字列を代入せよ」 開発メモ 二重引用符で囲うと
(数字でも) 文字列として扱われる Hello 変数 val_x ワークスペース自動更新 val_x に文字列を突っ込んだので double型から文字列(string)型に変化。 実行結果の自動表示 「val_x という名前の 変数には文字列 “Hello”が入っています」
演習1-3 結果の非表示(コマンドの後のセミコロン) 19 コマンド 「val_x という名前の 変数に5.3を代入せよ。 結果は非表示で。」 5.3 開発メモ
変数 val_x ワークスペース自動更新 val_x が再び double型に変化。 実行結果の 自動表示が無くなる セミコロンは結果非表示の 指示コマンド。 あえて結果を見たい場合以外は 命令文の末尾にセミコロンを つけましょう。
演習1-4 ブール値(logical型)の代入 20 真 変数 コマンド val_x ワークスペース自動更新 val_x がlogical型
(1が真,0が偽と同値)に変化。 実行結果の 自動表示なし 「val_x という名前の 変数に「真」を代入せよ。 結果は非表示で。」 ※ここでのtrueは文字列 ではない(真の状態値)ので 二重引用符で囲わない
演習1-5 変数に入っている値の表示 21 コマンド 真 変数 val_x 「val_x という名前の 変数に入っている
値を表示せよ」 表示結果 真/偽のブール値なので 数値の1とは異なる
演習1-6 ブール値(logical型)の反転 22 偽 変数 val_x コマンド 「val_x の論理演算NOTを val_x
に代入せよ」 表示結果 真(=1)の反対は 偽(=0)なので0になる。
演習1-7 ブール値(logical型)の新規作成 23 偽 偽 変数 val_y 変数 val_x ワークスペース自動更新
コマンド 「val_y という名前の 変数に”偽”を代入せよ。 結果は非表示で。」
演習1-8 2つのブール値(logical型)の論理AND 24 偽 変数 result 偽 変数 val_y 偽
変数 val_x ワークスペース自動更新 偽と偽のANDなので 偽(=0)になる。 コマンド 「val_x と val_y の論理AND をresultに代入せよ。 結果は非表示で。」
演習1-9 2つのブール値(logical型)の論理NOTの論理AND 25 真 変数 result 偽 変数 val_y 偽
変数 val_x ワークスペース自動更新 真と真のANDなので 真(=1)になる。 コマンド 「val_x と val_y の論理NOT の論理ANDをresultに代入せよ。 結果は非表示で。」
演習1-10 2つの変数への数値の再代入 26 真 変数 result 8.8 変数 val_y 10.2
変数 val_x ワークスペース自動更新 double型に戻る コマンド val_x と val_y にそれぞれ 数値を代入
演習1-11 2つのdouble型変数の値の大小比較 27 偽 変数 result 8.8 変数 val_y 10.2
変数 val_x ワークスペース自動更新 偽なので0になる コマンド val_x < val_y の真偽を resultに代入
演習1-12 2つのdouble型変数の和差積商 28 コマンド val_x と val_y の 和差積商をそれぞれ計算 ワークスペース自動更新
演習1-13 数値の配列化 29 コマンド カンマもしくは スペース区切りの数値を 角括弧で囲むと配列 としてまとめられる 配列 nums
1 5 変数 9 変数 12 変数 変数 nums(1,1) nums(1,2) nums(1,3) nums(1,4) 丸括弧の数値で何行何列目の変数なのかを識別 縦1要素,横4要素の 配列ができている 開発メモ [“red”, “blue”]のような 文字列配列も作れる
演習1-14 数値配列単位での演算 30 コマンド 1×4の配列の要素同士を足して 得られる配列をresultに代入 縦1要素,横4要素の 和の配列ができている
演習1-15 数値配列単位での演算(要素数が異なる場合) 31 コマンド 1×2配列を新規作成して 1×4配列との和を 計算 エラーメッセージ 配列の要素数が異なるので 要素和が取れない
エラーが出た場合には ワークスペース の更新もなし
演習1-16 2次元数値配列(行列)の作成 32 コマンド 横並び配列をセミコロンで 折り返すと次の行を作れる matrix = 開発メモ 2行3列の
行列ができている 3 5 6 1 3 4 matrix3 = zeros(4,5); で4行5列の零行列を、 matrix4 = ones(6); で6行6列の全要素が1の行列を 生成可能。
演習1-17 2次元数値配列(行列)の演算 33 コマンド 2×3行列二つの和を 計算してsumに代入 3 5 6 3
5 6 6 + = 1 3 4 1 3 4 2 コマンド 2×3行列二つの積を 計算してproductに代入 エラーメッセージ 行列に対する「*」は要素ごとの 積ではなくて行列積(ドット積) になるので計算不可でエラーに。 要素ごとの和の 計算はできているが 積の計算はできていない 3 5 6 3 5 6 � =計算不可 1 3 4 1 3 4 10 12 6 8
演習1-18 2次元数値配列(行列)の行列積(ドット積)演算 コマンド 2×3行列と、2×3行列の転置の積を 計算してproductに代入 ※「’」は複素共役転置(複素数の場合は共役複素数に) なので複素数を扱う場合は注意 ちゃんと行列積の 演算がなされている 3
1 70 42 9 + 25 + 36 3 + 15 + 24 3 5 6 � 5 3= = 42 26 3 + 15 + 24 1 + 9 + 16 1 3 4 6 4 34
演習1-19 2次元数値配列(行列)の要素ごとの積(アダマール積)演算 コマンド 2×3行列と、2×3行列の要素ごとの積を 「.*」で計算してhadamardに代入。 「要素ごとの(.)、積(*)」で覚える。 ちゃんと要素ごとの 積の演算が なされている 3
5 6 3 5 6 3∗3 ∘ = 1 3 4 1 3 4 1∗1 5∗5 6∗6 9 25 = 3∗3 4∗4 1 9 36 16 35
ここまでの演習のまとめ 変数の型は,代入される値によって随時勝手に変わる 何が代入されるのかはプログラマがきっちり監督しないといけない 多くの数値や文字列をまとめて扱うために配列が便利 同種の構成要素を配列で整理しておくとその後の構造設計に有利
数値配列は数学の「行列」として演算されうる 狙った通りの演算結果になっているか、手計算結果と比較することが大切 変数の状態を確認するためには「ワークスペース」が便利 狙った通りの型・配列サイズ・値になっているかを随時確認 36
より複雑な命令文の構築に向けた「スクリプト」の利用 スクリプト保存ボタン スクリプトに名前をつけて 「.mファイル」として保存できる 37 スクリプト実行ボタン スクリプトの実行 や停止の操作 クラウド上に保存されたスクリプト MATLAB
Driveに保存したものは ここに残る スクリプトウィンドウ MATLABの 命令をまとめて記載して おけるところ
演習1-20 for構文を使った「規定数繰り返し」処理(パターン➀) 38 基本のforブロック カウンタ変数 i を 1から10まで1つずつ増やしながら 毎回sumに足していく iは実行中に増えていって
終了時に10になっている 1+2+3+4+5+6+7+8+9+10 =55 開発メモ 1:10は実は1:1:10の省略形。 「開始値:刻み値:最大値」を指定して いるのと同じ(刻み値省略は1になる)。 →次ページのパターン➁ではこれで指定
演習1-21 for構文を使った「規定数繰り返し」処理(パターン➁) 発展的なforブロック 39 カウンタ変数 i を0から始めて 5刻みで最大49まで増やして 得られる値を順に 毎回sumに足していく
iは”0:5:49”の最後の 値である45になっている 0+5+10+15+20+25+30+35+40+45 =225 開発メモ 開始値:刻み値:最大値 は,値が並ぶ配列に読み替えられる。 たとえば、0:5:49は [0,5,10,15,20,25,30,35,40,45] の配列になる。 →次ページのパターン➂はこれを応用
演習1-22 for構文を使った「規定数繰り返し」処理(パターン➂) 応用的なforブロック 40 カウンタ変数 i を 1→5→12の順で変えながら 毎回sumに足していく iは1×3の配列の最後の
要素である12になっている 1+5+12 =18
演習1-23 while構文を使った「条件内繰り返し」処理 41 whileブロック 「valueが10未満」が満たされている 間はブロック内を実行 valueが10まで増えてから whileループを抜けるので resultには10が入る ※条件文は
value < 10 だが10に至ることに注意 valueが9まではブロック内が 実行されるので valueは10まで増える
演習1-24 if構文を使った「汎用的条件分岐」処理(パターン➀) 基本のifブロック 42 valueが100以上だったら ブロック内を実行 (100を足した値をresultに代入)。 そうでなければブロック内は無視。 条件を満たさないので resultは初期値のまま
演習1-25 if構文を使った「汎用的条件分岐」処理(パターン➁) 発展形のifブロック 43 ifの条件部分がtrue(真)だったら ブロック内を実行 (100を足した値をresultに代入)。 そうでなければブロック内は無視。 開発メモ 条件を満たすので
resultはvalue+100になる 比較演算子(<や==など)は ブール値(真偽値) に置き換わる。 だからこうなる。
演習1-26 if構文を使った「汎用的条件分岐」処理(パターン➂) 発展形のifブロック 44 「valueが100以上」と 「valueが30以下」の少なくとも どちらかが真であれば ブロック内を実行 (100を足した値をresultに代入)。 そうでなければブロック内は無視。
条件を満たすので resultはvalue+100になる 開発メモ ifの後はブール値(真偽値) になりさえすればよいので &&(論理AND) や ||(論理OR) で条件文を複数設定できる。
演習1-27 switch構文を使った「パターンマッチ分岐」処理(パターン➀) 45 基本のswitchブロック switch直後の変数の値が case直後のパターンと 一致した場合 case下の命令を実行 開発メモ switch分でできることは
if文でも実現できるが パターンの1つに合致するかどうかの 判定用途では可読性がifよりも良い case 2に一致するので resultには”case C”が代入される
演習1-28 switch構文を使った「パターンマッチ分岐」処理(パターン➁) 46 発展的なswitchブロック case直後には カンマ区切りの波括弧で 複数のパターンを置ける “apple”のcaseに一致するので resultには 1
が代入される
演習1-29 try-catch構文を使った「エラー対策」処理 エラー対策前 47 value_yを未定義のvalue_zと誤記 try-catchブロック try内を試して もしエラーが出たら catch内を実行 エラー対策後
3行目でエラーが発生して そこで強制終了するので result2を生成する4行目は実行されない エラーが起きても 続きが実行される catch内の命令も 実行される ※disp()はコマンド ウィンドウへの表示 命令
ここまでの演習のまとめ スクリプトで複数の命令をまとめて実行できる スクリプトは「.mファイル」として保存される 制御命令でいろいろできる 規定数繰り返しはfor、条件内繰り返しはwhile
汎用的条件分岐はif、パターンマッチ分岐はswitch エラー発生時でも実行を続けさせたい場合はtry-catch 制御パラメータの設定方法を知っておくとさらにいろいろできる ifの条件は真偽値。比較演算子の使用結果は真偽値になる。 forのカウンタ設定は配列。1:5:100のような記載も配列になる。 caseの一致パターンは波括弧とカンマで複数設定できる 48
構造化の第一歩:関数化 49 うまく絡み合って機能する変数と命令文は関数にする 関数化するための命令文で変数と各種命令文を 1つの明確なまとまりにできる MATLABでは「function」コマンド 核と小器官をまとめて細胞にするイメージ
関数の特長 機能を反映した名前を付けられる 入力と出力を設定できる(なくてもOK) 中身を気にせずに入出力と機能に注目して利用できる 名前を呼ぶ(呼出命令)と現れる 呼ぶたびに新しいものが生成される 注意点 一通り動作すると変数ごと消失する≒寿命が短い 細胞 細胞小器官 細胞核 刺激 (作用) 応答 (変化) “細胞A” 関数の宣言 入力 function (引数) ローカル変数 出力 [] for 変数 val_y + = 関数内処理 (返り値) 変数 val_x 関数名 if function “関数名” ローカル関数
演習1-30 フラグを利用した平均値計算の繰り返し 50 平均計算を実施するかを切り替える 真偽値フラグ。初期値は「偽」。 平均計算を実施しない場合には 平均値の変数に NaN(非数値記号)を代入。 平均計算を実施する場合には 平均値の変数に
平均値を代入。 四角枠の部分は、複数の変数や命令文が 同じように絡み合って機能している→関数化のチャンス!
演習1-31 スクリプト内での関数(ローカル関数)の設計 51 関数meanの呼出(生成) 丸括弧内に入力を与えると 出力を吐き出す (出力値になって消滅) 関数の名前や構造を 宣言する命令 「mean」という名前の関数の設計図。
呼び出される場面で用いられる変数 のことは気にせずに設計可能。 開発メモ 出力を設けない場合はfunction横の 「=」より前は記載不要。 入力を設けない場合は丸括弧内を空欄に。
演習1-32 スクリプトの関数化 スクリプト内で定義された 2組の数値ペアの平均値を計算する スクリプト 52 スクリプト名は 関数名と同じものに スクリプト外から入力された して保存
2組の数値ペアの平均値を計算して 出力する関数 全体を関数化 ※簡略化のため フラグも廃止 ローカル関数(mean) とは別の名前で定義 ローカル関数 の宣言 開発メモ functionの出力(返り値)はカンマ付きの 角括弧で複数設定可能
演習1-33 関数化したスクリプトの呼出と利用 53 別の.mファイルのMultipleAverage関数 の呼出(生成) 同じフォルダ内で あれば相互に参照 できる 各数値ペアの平均値2組を配列で受け取る 平均値を
受け取れている 開発メモ 複数ある関数の返り値の一部を 受け取る必要がないときは 変数の代わりに「~」を書いておけばよい。 たとえば[~,result2]など。 スクリプト外から入力された 2組の数値ペアの平均値を計算して 出力する関数
ここまでの演習のまとめ 関数の構造を設計(宣言)しておくと再利用できるようになる 同じ処理を繰り返す場合にスクリプトが簡潔になる 関数を含むスクリプト全体も関数化することができる 他のスクリプトから呼び出して利用できるようになる 54
今回のまとめと課題 MATLAB OnlineでMATLABの基本を学習 まとめ 変数と命令文が設計の基本単位 配列化・行列化,あるいは関数化によって構造を大規模化
制御命令によって機能を細かくコントロール 「開発メモ」の内容は地味ながらMATLABを使いこなすうえで重要 課題 必須:演習を順に実施。わからないところを掲示板で相談して解消。もしくは掲 示板で質問に回答。 選択➀:「開発メモ」に書かれた内容が正しいかどうかを確認するのに効果的な スクリプトを独自に考えて組む。それを.mファイルとして提出。 選択➁:今回学んだ内容で気になった点(この場合はどうなるか?)や分からな かった点(どういう意味か?)を解消するためにMATLAB Online上でスクリプ トを様々に書いて実行し、それによって得られた学びを文章で紹介。 55