主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

コードセクション

ファイルのコードセクションへの分割

MATLAB®ファイルは,多くのコメントから構成されていることがよくあります。通常,一度にプログラムの1か所に集中して取り組み,そのコードをまとまりとして処理します。同様に,他の人に自分のファイルの説明をするときも,プログラムをまとまりとして説明します。これらのプロセスを容易にするには,“コードセクション”を使用します。これは,コード セルまたはセル モードとしても呼ばれています。コード セクションは、2 つのコメント文字 (%%)で開始し,MATLABスクリプトでグループとして実行させる一連のコード行を含めます。

コードセクションの境界を明示的に定義するには,次の方法でセクション区切りを挿入します。

  • [エディター]タブで,(または,MATLAB在线™[セクション区切り])をクリックします。

  • 新規コードセクションを開始する行の先頭に2つのパーセント記号(%%)を入力します。

%%行のテキストは“セクションタイトル”と呼ばれます。セクションタイトルを含めるのは任意ですが、セクション タイトルを入れるとファイルが読みやすくなり、コードをパブリッシュする場合はこれが見出しとして表示されます。

コードセクションの実行

MATLABファイルを作成するとき,エディターのセクション机能を使ってファイルをセクションごとに実行できます。この方法はプログラムの実験や微调整に役立ちます。セクション间を移动して,各セクションを个别に実行できます。セクションを実行するにはセクションに必要な値がすべて含まれているか,値がMATLABワークスペースに存在していなければなりません。

セクションの実行機能は,現在黄色で強調表示されているセクションコードを実行します。MATLABは、コード セクションを個別に実行するときにファイルを自動保存しません。ファイルは検索パス上にある必要はありません。

以下の表は,コードセクションの実行手順を説明します。

操作 手順
現在のセクションのコードを実行する

コードセクション内にカーソルを置き,[エディター]タブの[実行]セクションで,[セクションの実行)をクリックします。

MATLAB在线では,[セクションの実行)ボタンは[セクション]セクションにあります。

現在のセクションのコードを実行し,次のセクションに移動する

コードセクション内にカーソルを置き,[エディター]タブの[実行]セクションで,[実行して次に进む]をクリックします。

MATLAB在线では,[実行して次に进む]ボタンは[セクション]セクションにあります。

ファイル内のすべてのコードを実行する

[エディター]タブの[実行]セクションで,[実行]をクリックします。

保存したスクリプト名をコマンドウィンドウに入力することもできます。

コードセクションの値のインクリメント

セクション内の数値をインクリメントして,変更を行うたびにそのセクションを再実行することができます。これはコードの微調整に役立ちます。

セクションの数値をインクリメントまたはデクリメントするには,次の手順に従います。

  1. 数値を強調表示するか,または数値の横にカーソルを置きます。

  2. 右クリックしてコンテキストメニューを開きます。

  3. [値のインクリメントおよびセクションの実行)を選択します。次のような小さいダイアログボックスが表示されます。

  4. 適切な値を/テキストボックスまたは/テキストボックスに入力します。

  5. またはボタンをクリックして,セクションで選択した値を加算,減算,乗算または除算します。

    MATLABは各クリック后にセクションを実行します。

メモ:

MATLABはスクリプトの数値の変更を自動的には保存しません。

ファイル内のコードセクション间の移动

セクション内のコードを実行せずに,ファイルのセクション間を移動できます。これにより,ファイル内でセクション間を素早く簡単に移動できます。これは,大きいファイル内で特定のコードを検索するときなどに便利です。

操作 手順
次のセクションへ移動する

[エディター]タブの[実行]セクションで,(次に進む]をクリックします。

前のセクションへ移動する

Ctrl+上方向キーを押します。

指定したセクションへ移動する

[エディター]タブの[ナビゲート]セクションで,[移動]を使用してカーソルを選択したセクションまで移動します。

MATLAB在线では,セクション間を移動するには,[エディター]タブの[ナビゲート]セクションで,[移動]を选択します。次に,利用可能なオプションから选択します。

コードセクションの実行例

この例では,sine_wave.mというファイルで2つのコードセクションを定義し,パラメーターをインクリメントして作成したプロットを調整します。エディターでこのファイルを開くには,以下のコマンドを実行してファイルをローカルフォルダーに保存します。

编辑(fullfile (matlabroot,‘帮助’,‘techdoc’,‘matlab_env’,……“例子”、“sine_wave.m '))

ファイルがエディターで開いたら,以下の手順に従います。

  1. ファイルの1行目にセクション区切りと次のタイトルを挿入します。

    %%计算和绘图正弦波

  2. 空行と2つめのセクション区切りを情节(x, y)の後に挿入します。セクションタイトル修改情节属性を追加し,ファイルに以下のコードが含まれるようにします。

    %%计算和绘图正弦波%定义范围X。%计算和标绘Y =的sin(x)。X = 0:1:6 * PI;Y =的sin(x);积(X,Y)%%修改曲线属性标题( '正弦波')xlabel( 'X')ylabel( '的sin(x)')无花果= GCF;fig.MenuBar = '无';

  3. ファイルを保存します。

  4. カーソルをセクションタイトル计算和绘图正弦波に置きます。[エディター]タブの[実行]セクションで,[セクションの実行)をクリックします。MATLAB在线では,[セクションの実行)ボタンは[セクション]セクションにあります。

    sin (x)のコースプロットを表す図が表示されます。

  5. 正弦プロットを滑らかにします。

    1. ステートメントX = 0:1:6 * PI;1を强调表示します。

    2. 右クリックして[値のインクリメントおよびセクションの実行)を選択します。次のような小さいダイアログボックスが表示されます。

    3. /テキストボックスに”2“と入力します。

    4. ボタンを数回クリックします。

      クリックするごとに正弦プロットが滑らかになっていきます。

    5. 図を閉じてファイルを保存します。

  6. sine_wave.mファイル全体を実行します。滑らかな正弦プロットがタイトル付きで新しい図に表示されます。

コードセクションの外観の変更

MATLABエディター内でのコードセクションの表示方法を変更できます。既定の设定では,MATLABはコードセクションを黄色で强调表示し,水平线で分割します。カーソルをセクション内の任意の行に置くと,エディターはセクション全体を强调表示します。

コードセクションの表示方法を変更するには,次の手順に従います。

  1. [ホーム]タブの[環境]セクションで,[基本设定]をクリックします。

    (基本設定]ダイアログボックスが表示されます。

  2. 左側のペインで(MATLAB)[色][プログラミングツール]を選択します。

  3. [セクション表示オプション]の下で,コードセクションの外観を選択します。

    セクションを强调表示するかどうか,强调表示の色,コードセクション间に分割线を表示するかどうかを选択できます。

コントロールステートメントおよび关数でのコードセクションの使用

コードセクションをコントロールステートメントおよび関数内で使用すると予期しない結果が表示されることがあります。これは,“ユーザー”がセクション区切りを明示的に挿入しない場合にMATLABがエディターに表示されないセクション区切りを自動的に挿入することが原因です。これは特に,入れ子形式のコードを使用するときに顕著になります。入れ子形式のコードは,コントロールステートメントまたは関数を別のコントロールステートメントもしくは関数のスコープ内に配置するときに発生します。

MATLABは次の基準に従って,セクション境界をコードブロックで自動的に定義します。

  • MATLABはセクション区切りをファイルの先頭と最後に挿入し,ファイル全体を含むコードセクションを作成します。ただし,ファイルに明示的なコードセクションを1つまたは複数追加しない限り,エディターはファイル全体を含むセクションを強調表示しません。

  • セクション区切りを制御フローステートメント(如果ステートメントなど)の中で定義する場合,MATLABはステートメントの開始と終了を含む行にセクション区切りを自動的に挿入します。

  • 関数内でセクション区切りを定義する場合,MATLABはセクション区切りを関数宣言と関数の结束ステートメントに挿入します。结束ステートメントで関数を終了しない場合,MATLABは次の関数の直前で関数を終了します。

ユーザーが挿入した区切りと同じ行に自動区切りがある場合,1つのセクション区切りにまとめられます。

入れ子形式のコードセクション区切り

次のコードは,入れ子形式のコードセクションの概念を説明します。

t = 0时:0.1:PI * 4;y = sin(t);对于k = 3:2:9 %% Y = Y + SIN(K * T)/ K;如果〜MOD(K,3)%%显示器(sprintf的( '当k =%.1F' 中,k));图(T,Y)结束端
このコードをMATLABエディターにコピーして貼り付けると,2つのセクション区切りによって3つの入れ子レベルができます。

  • “入れ子の最上位レベル”では,1つのセクションがファイル全体に相当します。

    MATLABは,ユーザーがセクション区切りをコードブロック内の“同じレベル”で指定する場合にのみ,セクションをコードブロックで定義します。したがって、MATLABはカーソルはファイル全体を含むセクション内にあるとみなします。

  • “入れ子の2番目のレベル”では,セクションはループ内にあります。

  • “入れ子の3番目のレベル”では1つのセクションが如果ステートメント内にあります。

関連するトピック