matlabユーザーコミュニティー

MATLAB&Si金宝appmulink的ユーザーコミュニティー向け日本语ブログ

MATLABチョットデキル人たちが教えるイチオシ機能

初めて知ったときにそうだよ,コレだよコレってなりました。
~テツ高垣(@Urahustet)さんのコメントより~

お久しぶりです,井上@引き続き在宅勤務です。
Twitterでも”MATLABインストールした吗?”“MATLABってなんぞ吗?”“MATLAB完全に理解した”という声が聞こえてくる季節。この春からMATLABを使うことになった新大学生,新社会人の皆様にイチオシ機能を届けたい。それもMATLABチョットデキル友達が使っている機能を。
ということで的Twitterで募集をしたところ,フォロワーの皆様から沢山绍介いただいたので一部だけですが绍介します。コメントくださった皆様,ありがとうございました!全部取り上げたかったのですが,残念ながらここでは一部だけの绍介になります。こちら(Twitter: MATLABチョットデキル人たちのイチオシ機能)でもまとめておりますので是非ご覧ください。

目次

  1. この关数就是何:DOC /编辑
  2. プロット操作を手軽に:linkaxes,次要情节/ tiledlayout
  3. 何かがおかしいこのコード··:profier,调试
  4. 各種ショートカットでかっこよく
  5. 番外编:MATLAB编码器で处理を高速化

1.この关数就是何:DOC /编辑

DOCはおそらく自分も普段一番使う机会の多い关数。关数の​​详细をすべて覚えていられないので,コードを书く时は常にドキュメンテーションページで确认しながら。
例えば“阴谋でこれできるんだっけ・・吗?“な時は
医生情节
「writetableの出力设定何があったかな··」な时は迷わず
医生writetable
です。このあと登場する関数も是非医生で確認してみてください。
多少上級者向きかと思いますがdocの他に编辑も欠かせません。この関数中で何をやってるんだ・・吗?と気になったときは编辑コマンドで関数を開いてみてください。ちょっとかゆいところに手が届かない,というときに役立つかもしれません(参考:【MATLAB】polyfit関数に手を加えて実行速度アップ(注:リスクあり)
コンパイルされていたりしてすべてが見える形で提供されてるわけではない点はご了承ください。

2.プロット操作を手軽に:linkaxes,次要情节/ tiledlayout

おそらくすべてのMATLABユーザーがプロットを一度は作ることになる。そんなプロット操作を楽にする机能。プロットを1つの图に并べるのに使うのは以前から子图ですね。
数字
次要情节(1、2、1)
2)图(兰德(10日)
次要情节(1、2、2)
2)图(兰德(10日)
そしてR2019bでtiledlayoutが登場しました。tiledlayout(2,1)のように分割数(縦に2つ横に1つ)を決め打ちするのも好ですし‘流’で動的に追加していく形も可能で,自由度が増しています。“TileSpacing”を“紧凑”とすると,余白をきゅっと小さくすることもできます。
数字
tiledlayout(“流”“TileSpacing”“紧凑”
nexttile
2)图(兰德(10日)
nexttile
2)图(兰德(10日)
さらにlinkaxesですが,これは複数のプロットを連携させるときに便利です。1つのプロットの表示範囲を変更すると、リンクされた他のプロットも合わせて表示範囲が変わります。関連するデータ(例えば複数の時系列)をみていくときに便利ですね。
数字
tiledlayout(“流”“TileSpacing”“紧凑”
AX1 = nexttile;
2)图(兰德(10日)
ax2 = nexttile;
2)图(兰德(10日)
linkaxes([AX1 AX2]“xy”
linkaxes.gif
リンクすべき座標軸のオブジェクト(以下ではax₁とax2)をlinkaxesで指定します。

copyline.gif
そして最后に,グラフの一部を别のグラフへコピーしたいな··そんなときはこれ。再现性を考えるとコード侧を変えた方がよいですが,ちょっと试してみるなら手軽でいいですね。

3.何かがおかしいこのコード:分析器,调试

コードを书く上で欠かせないのがデバッグ机能。デバッグ机能といえば一番基本的なものはブレークポイントでしょう。
コード(スクリプト・関数)の横をクリックしてブレークポイントを設定しておくと,実行時にそこで一時停止し,その時点での変数が確認できるという優れもの。意図通りの処理になっているかを確認できますね。
breakpoint.gif
上級者向けになりますが,ブレークポイントの設定(dbstop),次の行に移動(dbstep)続きを実行(dbcont)など,ボタンクリックではなくコマンドでの実行で効率があがるかも。

profiler.PNG
書いたコードの処理が遅いかも吗?という時にはプロファイラーを是非试してみてください。どのコマンドが何回呼び出されて,处理に何秒かかっているかが一目了然。
profiler_example.PNG
ボトルネックになっている部分から改善するようにすれば,全体の速度アップを効率よく実現できます。

4.各種ショートカットでかっこよく

何度も行うような作业はショートカットでやってしまうのがおススメです。中でもよく使うのがこれ。
動画(Ctrl +我:自動インデントCtrl + D:選択した関数を開くCtrl + R:コメント化Ctrl + T:コメント解除)
例えば,特定の行を除いて実行してみるのときにCtrl + Tでコメント化してF5・・などで使います。
Untitled Project.gif
あとは,うっかりコードの実行をスタートしてしまった,急いで止めたい!そんな時は控制+ cですね。

その外のショートカットの设定,カスタマイズに关する详细はこちら:キーボードショートカットのカスタマイズ
shortcutcustomize.PNG

6.【番外编】MATLAB编码器で处理を高速化

言われてみれば実行速度が気になるときに试してみる机能です.MATLAB编码器といえばMATLABコードからのC / C ++コード生成を担う工具箱ですが,生成したC / C ++コードからコンパイルしてMATLABで実行できる关数(MEX关数)にするという机能もあります.C / C ++の実行速度の速さをMATLABで実现できるイメージです.MEX关数は,C / C ++を実际に触ることなく作ることができるのでかなりお手軽です。

すべてのMATLAB关数がMEX化できる,というわけではない点は注意が必要ですが,既に绍介したプロファイラーを使って见つけたボトルネック部分をMEX化してしまう,というのも1案ですね。包括ライセンスなど。で使える环境にいらっしゃる场合は特に使わない理由はありません详细はこちら:MATLABアルゴリズムの高速化

まとめ

MATLABを使っている方にとっては「言われてみれば确かによく使っている··」というものもあったかもしれません。他にもこんなおススメがあるよ!という方はコメントください。

使い始めて間もない方はまだピンとこない部分もあるかもしれませんが,知っておくだけでどこかで役に立つはず。ぜひ試してみてください。

いっちょしっかり学んでやるか,という方にはオンラインで受講できるチュートリアルもおススメです。

在全校推广许可をご利用頂いている皆様には,この辺のオンライントレーニングもすべて無料で受け放題ですのので,いろいろつまみ食いする気持ちで試していただけたら嬉しいです。詳細:全学向けMATLABトレーニング

|

コメント

コメントを残すには,ここをクリックしてMathWorks的アカウントにサインインするか新しいMathWorks的アカウントを作成します。