気になる R2022b 新機能
こんにちは,道家です.秋ですね.夜も気持ちよく眠れるようになりましたね.
目次
新データ型:dictionary
units = [“inch”, “feet”, “yard”, “mm”, “m”, “km”];
scale = [1/2.54, 1/2.54/12, 1/2.54/12/3, 10, 0.01, 0.00001];
fromCMto = dictionary(units,scale)
dictionary 変数を作成すると,キーによるルックアップが簡単にできます.
height = 175; % cm
heightInFeet = height * fromCMto(“feet”)
コマンド補完もちゃんとやってくれます.
dictionary 型についてはまた後日別の記事で詳しく紹介しますのでお楽しみに.
対話型コントロール:数値スピナー
数値スピナー?もうすでに “数値スライダー” があるじゃないか!
両方ほぼ同じ用途に活用できますが,スピナーだとマウスをそれほど動かさずにポチポチと変えられます.お好きな方をお選びください.
コード アナライザー アプリ
コード アナライザー レポートがモダンになりました.検出された問題を種類またはファイルごとにに表示するか,エラーだけ表示する,など見やすくなりました.レポートは従来通りホームタブからも起動できますが,アプリタブからも起動できるようになりました.
codeIssues
issues = codeIssues
checkcode をもう少し使いやすくしたものですね.
出力引数の検証
R2019b に「入力引数の検証」という新機能が出たときにもブログ記事を書きましたが,今回はその姉妹機能「出力引数の検証」です.正直まだこの機能をフル活用できる自信はありませんが,関数の検証,デバッグのしやすさ,コードの読みやすさなどのメリットがあります.特に,ソフトウェア開発をしているとき,関数の入出力(インターフェース)をはっきり定義しておく必要があります.その仕様を引数の検証機能で定義することによって,入出力が期待通りになることを保障できます(つまり,仕様に反する入出力はエラーとなる).
簡単な例を見てみましょう.多項式の解は roots 関数で求められますが,実数の解の時のみ解が返され複素数の解の時はエラーが生成されるような関数を作成したいと思います.通常のエラーチェックを実装した関数はこんな感じになります.(簡単な例なので,これでも十分大丈夫だと思いますが...)
function r = realPolyRoots(p)
validateattributes(p,“double”,“vector”)
r = roots(p);
if ~isreal(r)
error(“複素数の解が含まれています”)
end
end
これを,入出力の検証を活用すると以下のようになります.
function r = realPolyRoots(p)
arguments (Input)
p double {mustBeVector}
end
arguments (Output)
r {mustBeReal}
end
r = roots(p);
end
関数の冒頭に入出力の条件が明確になっているというのが良いですね.更に条件が増えてくるとコード内で行うエラーチェックが複雑になってくるので,入出力の検証によってコードの可読性が向上します.どのようなエラーになるか見てみましょう.
ビルドツール
こちらは今後試してみたい機能.Build Tool を使うとソフトウェア開発のビルド工程を容易にしてくれます.ビルドの中で,先ほど紹介した codeIssues でコードに問題ないか確認したり,テスト フレームワークのユニット テストを実行したり,様々なタスクを順次に実行することができます.今や MATLAB は専門的なソフトウェア開発ツールとしても活用されるようになってます.
変数エディターでのスパークライン(MATLAB Online のみ)
最後に MATLAB Online からの新機能です.実は新機能の中には先にMATLAB Onlineで導入されるものがあります.R2022a のMATLAB Onlineで導入されたダークモードもその一つです.
このリリースから, table 型もしくは timetable 型のデータを変数エディターで開いたときにスパークラインとデータの概要情報が自動的に表示されます.スパークラインは対話的でマウスをかざすと値を確認することができます.
おわりに
いかがでしたでしょうか.今回は MATLAB の中の個人的に選んだ新機能紹介でしたが,MATLAB だけでもまだほんの一部の機能しか紹介できていません.私の興味分野の可視化・アプリ開発の新機能もまだまだたくさんあります.その他多くの Toolbox にも新機能が満載であり,Medical Imaging Toolbox のような新 Toolbox も出ました.是非,R2022b をエクスプロアしてみてください!
- 类别:
- 機能と使い方
评论
要发表评论,请点击 此处 登录到您的 MathWorks 帐户或创建一个新帐户。