主要内容

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

条件が真正の場合に繰り返すループ

構文

表达式语句结束

説明

表达式语句,最后を評価し,式が真正の間はループでステートメントのグループの実行を繰り返します。結果が空でなく,非ゼロの要素(論理値または実数値)のみが含まれる場合に,式は真正になります。それ以外の場合は、虚假です。

すべて折りたたむ

ループを使用して阶乘(10)を計算します。

n = 10;f = n;N > 1 N = 1;f = f * n;结束disp ([“n != 'num2str (f))
n != 3628800

ファイルmagic.mのコードの行数をカウントします。继续ステートメントを使用して空行とコメントをスキップします。继续ループの残りの指示をスキップして次の反復を開始します。

fid = fopen (“magic.m”“r”);数= 0;~feof(fid) line = fgetl(fid);如果isempty(线)| | strncmp(线,“%”1) | | ~ ischar(线)继续结束Count = Count + 1;结束
数= 34
文件关闭(fid);

次の乱数で上限を超えるところまで,一連の乱数を加算します。その後,打破ステートメントを使用してループを終了します。

限制= 0.8;s = 0;1 TMP = rand;如果tmp >限制打破结束S = S + tmp;结束

詳細

すべて折りたたむ

式には関係演算子(<==など)と論理演算子(&&||など)を含めることができます。論理演算子を使用して複合式を作成できます。MATLAB®は複合式を左から右に評価し,演算子の優先順位の規則に従います。

而……ブロックの条件式内で,論理演算子および|はショートサーキット演算子として動作します。動作はそれぞれ&&および||と同じです。&&||は,条件式でもステートメントでも一貫してショートサーキットであるため,式内では|の代わりに&&||を使用することをお勧めします。以下に例を示します。

x = 42;存在(“myfunction.m”“文件”) && (myfunction(x) >= pi)的表达式是正确的打破结束

式の最初の部分の評価結果は假です。このためMATLABは未定義の関数エラーの結果になる,式の2番目の部分を評価する必要はありません。

ヒント

  • 無限ループ(絶対に終了しないループ)を誤って作成してしまった場合は,Ctrl + Cを押して,ループの実行を停止してください。

  • 条件式が行列と評価される場合,MATLABは行列内のすべての要素が真(非ゼロ)である場合のみステートメントを評価します。いずれかの要素が真正である場合にステートメントを実行するには,関数任何で式をラップします。

  • プログラムによってループを終了するには,打破ステートメントを使用します。ループの残りの指示をスキップして、次の反復から開始するには、继续ステートメントを使用します。

  • 多数のステートメントを入れ子にするとき,各ステートメントでは结束キーワードが必要です。

  • MATLABループは,他のプログラミング言語,Cやc++などの做……ループに似ています。ただし,はループの終了時にではなく開始時に条件式を評価します。

    不合法的MATLAB语法语句while表达式

    做……の動作に似せるには,の初期条件を真正的に設定してループ内に条件式を配置します。たとえば,MATLABループを使用することで上記の做……ループを実装します。

    而true语句如果~表达式中断结束结束

拡張機能

C / c++コード生成
MATLAB®编码器™を使用してCおよびc++コードを生成します。

R2006aより前に導入