--- /dev/null
+title = Control flow
+xml_id = control_flow
<para>
rather than
</para>
-
+
<programlisting role=""><![CDATA[
if rand(1,1) > 0.5 then disp("True"); else disp("False"); end
]]></programlisting>
<para>
rather than
</para>
-
+
<programlisting role=""><![CDATA[
i = 0; while i<5 disp("i"); i = i + 1; end
]]></programlisting>
--- /dev/null
+title = Error handling
+xml_id = error_handling
--- /dev/null
+title = Control flow
+xml_id = control_flow
<para>
plutôt que :
</para>
-
+
<programlisting role=""><![CDATA[
for i = 1:5 disp(i); end
]]></programlisting>
<para>
rather than
</para>
-
+
<programlisting role=""><![CDATA[
i = 0; while i<5 disp("i"); i = i + 1; end
]]></programlisting>
--- /dev/null
+title = Error handling
+xml_id = error_handling
--- /dev/null
+title = Control flow
+xml_id = control_flow
</refnamediv>
<refsection>
<title>説明</title>
- <para><literal>abort</literal> は現在の評価を中断し,
- プロンプトを表示します.<literal>pause</literal> 中の場合,
- <literal>abort</literal>はレベル0プロンプトに戻します.</para>
+ <para>
+ <literal>abort</literal> は現在の評価を中断し,
+ プロンプトを表示します.<literal>pause</literal> 中の場合,
+ <literal>abort</literal>はレベル0プロンプトに戻します.
+ </para>
</refsection>
<refsection role="see also">
<title>参照</title>
</refnamediv>
<refsection>
<title>説明</title>
- <para><literal>while</literal> 構文.
-<literal>"end"</literal>で終わる必要があります.</para>
+ <para>
+ <literal>while</literal> 構文.
+ <literal>"end"</literal>で終わる必要があります.
+ </para>
<para>
<literal>while expr ,instructions,...[,else instructions], end</literal>
</para>
<para>注意:</para>
<itemizedlist>
<listitem>
- <para> 唯一の制約は, <literal>then</literal> または
- <literal>do</literal>" キーワードを
- <literal>while</literal> キーワードと同じ行に置く必要がある
- ことです.</para>
+ <para>
+ 唯一の制約は, <literal>then</literal> または
+ <literal>do</literal>" キーワードを
+ <literal>while</literal> キーワードと同じ行に置く必要がある
+ ことです.
+ </para>
</listitem>
<listitem>
- <para>キーワード <literal>then</literal> または <literal>do</literal> は
- キャレッジリターンまたはカンマで置換することができます.
- Matlabとの互換性のため,推奨されませんが,
- 式の終わりと命令の始まりの間に空白を置く方法で代替することも可能です.</para>
+ <para>
+ キーワード <literal>then</literal> または <literal>do</literal> は
+ キャレッジリターンまたはカンマで置換することができます.
+ Matlabとの互換性のため,推奨されませんが,
+ 式の終わりと命令の始まりの間に空白を置く方法で代替することも可能です.
+ </para>
</listitem>
<listitem>
<para>
- オプションの <literal>,else instructions</literal> 構造により,
- 式の評価が偽となった場合に実行される命令を指定することが可能です.</para>
+ オプションの <literal>,else instructions</literal> 構造により,
+ 式の評価が偽となった場合に実行される命令を指定することが可能です.
+ </para>
</listitem>
</itemizedlist>
<para>
警告: 条件付き命令(if while for または select/case)の本文を定義するために使用可能な
- 文字数は 16 k以下とする必要があります.</para>
+ 文字数は 16 k以下とする必要があります.
+ </para>
</refsection>
<refsection>
<title>例</title>
--- /dev/null
+title = Error handling
+xml_id = error_handling
<refsynopsisdiv>
<title>呼出し手順</title>
<synopsis>error(message)
-error(message, n)
-error(n)
-error(n, message)
-error(n, pos)</synopsis>
+ error(message, n)
+ error(n)
+ error(n, message)
+ error(n, pos)
+ </synopsis>
</refsynopsisdiv>
<refsection>
<title>パラメータ</title>
</refsection>
<refsection>
<title>説明</title>
- <para><literal>error</literal> 関数によりエラーメッセージを発行でき,
- エラーを処理できます.
- デフォルトで <literal>error</literal> は実行を停止し,
- プロンプトレベルに復帰します.
- このデフォルト動作は,<literal>errcatch</literal> または
- <literal>execstr(...,'errcatch')</literal> 関数により変更できます.</para>
- <para><literal>error(message)</literal> は<literal>message</literal>の文字列を
- 出力します.
- エラーメッセージの番号は 10000 となります.</para>
- <para><literal>error(message,n)</literal> は
+ <para>
+ <literal>error</literal> 関数によりエラーメッセージを発行でき,
+ エラーを処理できます.
+ デフォルトで <literal>error</literal> は実行を停止し,
+ プロンプトレベルに復帰します.
+ このデフォルト動作は,<literal>errcatch</literal> または
+ <literal>execstr(...,'errcatch')</literal> 関数により変更できます.
+ </para>
+ <para>
+ <literal>error(message)</literal> は<literal>message</literal>の文字列を
+ 出力します.
+ エラーメッセージの番号は 10000 となります.
+ </para>
+ <para>
+ <literal>error(message,n)</literal> は
<literal>message</literal>の文字列を出力します.
- エラーメッセージの番号は<literal>n</literal>で指定されます.
- この番号は 10000 より大きい必要があります. </para>
- <para><literal>error(n)</literal> は,
- エラー番号 <literal>n</literal>の
- 定義済みエラーメッセージを出力します. </para>
+ エラーメッセージの番号は<literal>n</literal>で指定されます.
+ この番号は 10000 より大きい必要があります.
+ </para>
+ <para>
+ <literal>error(n)</literal> は,
+ エラー番号 <literal>n</literal>の
+ 定義済みエラーメッセージを出力します.
+ </para>
<para>いくつかの定義済みエラーメッセージが
- パラメータを必要とします(
+ パラメータを必要とします(
<link linkend="error_table">error_table</link>参照).
- この場合,パラメータの値を指定するために
- <literal>error(n,pos)</literal>のように
- 引数<literal>pos</literal>を使用する必要があります.
- その他の場合, <literal>pos</literal> 引数は無視されます.</para>
+ この場合,パラメータの値を指定するために
+ <literal>error(n,pos)</literal>のように
+ 引数<literal>pos</literal>を使用する必要があります.
+ その他の場合, <literal>pos</literal> 引数は無視されます.
+ </para>
<para> エラーメッセージのリストおよび対応するエラー番号については
- <link linkend="error_table">error_table</link> を参照ください.</para>
+ <link linkend="error_table">error_table</link> を参照ください.
+ </para>
</refsection>
<refsection>
<title>例</title>
<refsection>
<title>説明</title>
<para>
- (<literal>errcatch</literal>をコールした後に)
- エラー番号 <literal>n</literal> のエラーが発生したかどうかを確認します.
- <literal>iserror</literal> は,エラーが発生した場合に <literal>1</literal>,
- それ以外の場合に <literal>0</literal>を返します.</para>
- <para><literal>n>0</literal> はエラー番号です ;
- <literal>n<0</literal>を指定すると全てのエラーが確認されます.</para>
+ (<literal>errcatch</literal>をコールした後に)
+ エラー番号 <literal>n</literal> のエラーが発生したかどうかを確認します.
+ <literal>iserror</literal> は,エラーが発生した場合に <literal>1</literal>,
+ それ以外の場合に <literal>0</literal>を返します.
+ </para>
+ <para>
+ <literal>n>0</literal> はエラー番号です ;
+ <literal>n<0</literal>を指定すると全てのエラーが確認されます.
+ </para>
</refsection>
<refsection role="see also">
<title>参照</title>
<refsynopsisdiv>
<title>呼出し手順</title>
<synopsis>warning('string')
-warning('off')
-warning('on')
-mode = warning('query')</synopsis>
+ warning('off')
+ warning('on')
+ mode = warning('query')
+ </synopsis>
</refsynopsisdiv>
<refsection>
<title>説明</title>
<para>
- 警告メッセージとして文字列<literal>'string'</literal>を表示します.</para>
- <para><literal>'on'</literal> は警告メッセージを有効にします.</para>
- <para><literal>'off'</literal> は警告メッセージを無効にします.</para>
- <para><literal>'query'</literal> は, <literal>'on'</literal> または <literal>'off'</literal> の状態を取得します.</para>
+ 警告メッセージとして文字列<literal>'string'</literal>を表示します.
+ </para>
+ <para>
+ <literal>'on'</literal> は警告メッセージを有効にします.
+ </para>
+ <para>
+ <literal>'off'</literal> は警告メッセージを無効にします.
+ </para>
+ <para>
+ <literal>'query'</literal> は, <literal>'on'</literal> または <literal>'off'</literal> の状態を取得します.
+ </para>
</refsection>
<refsection>
<title>例</title>
--- /dev/null
+title = Control flow
+xml_id = control_flow
--- /dev/null
+title = Error handling
+xml_id = error_handling
--- /dev/null
+title = Control flow
+xml_id = control_flow
<para>
а не:
</para>
-
+
<programlisting role=""><![CDATA[
if rand(1,1) > 0.5 then disp("True"); else disp("False"); end
]]></programlisting>
<para>
Управляющая инструкция выбора действий по значению переменной <literal>variable</literal>.
</para>
-
+
<para>
Примечания:
</para>
<para>
а не:
</para>
-
+
<programlisting role=""><![CDATA[
A = 2;select A case 1 then disp(1); case 2 then disp(2); else disp(3); end
]]></programlisting>
<para>
а не:
</para>
-
+
<programlisting role=""><![CDATA[
i = 0; while i<5 disp("i"); i = i + 1; end
]]></programlisting>
--- /dev/null
+title = Error handling
+xml_id = error_handling
<refsection>
<title>説明</title>
<para>
- 論理値(boolean)変数の値は <literal>%T</literal> (意味: "true") または
- <literal>%F</literal> (意味: "false") です.
- これらの変数は,論理値の行列を定義する際に通常の構文として使用可能です.
- 論理値行列は要素の展開/挿入/結合など通常の行列と同様に操作することができます.
- 他の一般的な処理(<literal>+, *, -, ^,</literal>など)は
- 論理値行列では定義されないことに注意してください.
- 以下の3種類の特別な演算子が論理値行列に関して定義されています:
- </para>
+ 論理値(boolean)変数の値は <literal>%T</literal> (意味: "true") または
+ <literal>%F</literal> (意味: "false") です.
+ これらの変数は,論理値の行列を定義する際に通常の構文として使用可能です.
+ 論理値行列は要素の展開/挿入/結合など通常の行列と同様に操作することができます.
+ 他の一般的な処理(<literal>+, *, -, ^,</literal>など)は
+ 論理値行列では定義されないことに注意してください.
+ 以下の3種類の特別な演算子が論理値行列に関して定義されています:
+ </para>
<variablelist>
<varlistentry>
<term>~b</term>
<listitem>
- <para>は論理値<literal>b</literal>(行列)の要素毎の否定です.</para>
+ <para>
+ は論理値<literal>b</literal>(行列)の要素毎の否定です.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>b1&b2</term>
<listitem>
- <para>は<literal>b1</literal> および <literal>b2</literal> (行列)の
- 要素毎の論理積(<literal>and</literal>) です.</para>
+ <para>
+ は<literal>b1</literal> および <literal>b2</literal> (行列)の
+ 要素毎の論理積(<literal>and</literal>) です.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>b1|b2</term>
<listitem>
- <para>は<literal>b1</literal> および <literal>b2</literal> (行列)の
- 要素毎の論理和(<literal>or</literal>) です.</para>
+ <para>
+ は<literal>b1</literal> および <literal>b2</literal> (行列)の
+ 要素毎の論理和(<literal>or</literal>) です.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>論理値変数は行列またはベクトルの添え字として使用できます.</term>
<listitem>
- <para>例えば, <literal>a([%T,%F,%T],:)</literal>は,
- <literal>a</literal>の <literal>1</literal> 行目と<literal>3</literal>行目
- からなる部分行列を返します.
- 論理値の疎行列もサポートされています.</para>
+ <para>
+ 例えば, <literal>a([%T,%F,%T],:)</literal>は,
+ <literal>a</literal>の <literal>1</literal> 行目と<literal>3</literal>行目
+ からなる部分行列を返します.
+ 論理値の疎行列もサポートされています.
+ </para>
</listitem>
</varlistentry>
</variablelist>
</info>
<refnamediv>
<refname>poly</refname>
- <refpurpose> polynomial definition</refpurpose>
+ <refpurpose>polynomial definition</refpurpose>
</refnamediv>
<refsynopsisdiv>
<title>Calling Sequence</title>
<term>"flag" </term>
<listitem>
<para>
- string ("roots", "coeff"), default value is <literal>"roots"</literal>.
+ string ("roots", "coeff"), default value is <literal>"roots"</literal>.
</para>
</listitem>
</varlistentry>
<title>Description</title>
<variablelist>
<varlistentry>
- <term>If <literal>a</literal> is a matrix,</term>
+ <term>
+ If <literal>a</literal> is a matrix,
+ </term>
<listitem>
<para>
<literal>p</literal> is the characteristic
with <literal>roots</literal> the entries of <literal>v</literal> and
<literal>"x"</literal> as formal variable. (In this case,
<literal>roots</literal> and <literal>poly</literal> are inverse functions).
- Note that Infinite roots gives zero highest degree coefficients.
+ Note that Infinite roots gives zero highest degree coefficients.
</para>
</listitem>
<listitem>
<literal>poly(v,"x","coeff")</literal> creates the
polynomial with symbol <literal>"x"</literal> and with coefficients
the entries of <literal>v</literal> (<literal>v(1)</literal> is the constant term
- of the polynomial). (Here <literal>poly</literal> and <literal>coeff</literal> are
- inverse functions).
+ of the polynomial). (Here <literal>poly</literal> and <literal>coeff</literal> are
+ inverse functions).
</para>
</listitem>
</itemizedlist>
<term>d</term>
<listitem>
<para>多項式行列の次数.
- オプションのパラメータでデフォルト値は <literal>d=-1+size(C,'c')/size(C,'r')</literal></para>
+ オプションのパラメータでデフォルト値は <literal>d=-1+size(C,'c')/size(C,'r')</literal>
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>name</term>
<listitem>
<para>
- 多項式の変数名を指定する文字列 (デフォルト値: <literal>'x'</literal>).</para>
+ 多項式の変数名を指定する文字列 (デフォルト値: <literal>'x'</literal>).
+ </para>
</listitem>
</varlistentry>
</variablelist>
</refsection>
<refsection>
<title>説明</title>
- <para><literal>P=inv_coeff(Mp,k)</literal>は, <literal>k</literal> が <literal>Mp</literal> の
- 大きさと互換性がある場合, k次の多項式行列を返します.
- <literal>C=[C0,C1,...,Ck]</literal> の時,
- <literal>P= C0 + C1*x +... +Ck*x^k</literal>となります.</para>
+ <para>
+ <literal>P=inv_coeff(Mp,k)</literal>は, <literal>k</literal> が <literal>Mp</literal> の
+ 大きさと互換性がある場合, k次の多項式行列を返します.
+ <literal>C=[C0,C1,...,Ck]</literal> の時,
+ <literal>P= C0 + C1*x +... +Ck*x^k</literal>となります.
+ </para>
</refsection>
<refsection>
<title>例</title>
<term>vname</term>
<listitem>
<para>文字列, 記号変数を表します. 文字列が4文字以上の場合,
-最初の4文字のみが使用されます.</para>
+ 最初の4文字のみが使用されます.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<term>"flag" </term>
<listitem>
<para>文字列 ("roots", "coeff"), デフォルト値は
- "roots"です.</para>
+ "roots"です.
+ </para>
</listitem>
</varlistentry>
</variablelist>
<varlistentry>
<term>a が行列の場合,</term>
<listitem>
- <para><literal>p</literal> は特性多項式,すなわち
- <literal>determinant(x*eye()-a)</literal>となり, <literal>x</literal>が
- 記号変数となります.</para>
+ <para>
+ <literal>p</literal> は特性多項式,すなわち
+ <literal>determinant(x*eye()-a)</literal>となり, <literal>x</literal>が
+ 記号変数となります.
+ </para>
</listitem>
</varlistentry>
<varlistentry>
<listitem>
<itemizedlist>
<listitem>
- <para><literal>poly(v,"x",["roots"])</literal> は
- <literal>v</literal>のエントリを<literal>根(roots)</literal>とし,
- <literal>"x"</literal>を形式変数とする多項式となります
- (この場合,<literal>roots</literal>と<literal>poly</literal>は逆関数となります).
- 根が無限大の場合,最高次の係数がゼロになることに注意してください.</para>
+ <para>
+ <literal>poly(v,"x",["roots"])</literal> は
+ <literal>v</literal>のエントリを<literal>根(roots)</literal>とし,
+ <literal>"x"</literal>を形式変数とする多項式となります
+ (この場合,<literal>roots</literal>と<literal>poly</literal>は逆関数となります).
+ 根が無限大の場合,最高次の係数がゼロになることに注意してください.
+ </para>
</listitem>
<listitem>
- <para><literal>poly(v,"x","coeff")</literal> は記号を<literal>"x"</literal>
- とし,<literal>v</literal>のエントリを係数とする多項式を作成します
- (v(1)が多項式の定数項となります).
- (この場合, <literal>poly</literal> と <literal>coeff</literal> が逆関数となります)
- </para>
+ <para>
+ <literal>poly(v,"x","coeff")</literal> は記号を<literal>"x"</literal>
+ とし,<literal>v</literal>のエントリを係数とする多項式を作成します
+ (v(1)が多項式の定数項となります).
+ (この場合, <literal>poly</literal> と <literal>coeff</literal> が逆関数となります)
+ </para>
</listitem>
</itemizedlist>
</listitem>
</varlistentry>
</variablelist>
- <para><literal>s=poly(0,"s")</literal> は記号<literal>"s"</literal>を
- 用いた多項式を定義するための準備作業です.</para>
+ <para>
+ <literal>s=poly(0,"s")</literal> は記号<literal>"s"</literal>を
+ 用いた多項式を定義するための準備作業です.
+ </para>
</refsection>
<refsection>
<title>例</title>
<refsection>
<title>説明</title>
<para>
- 有理数 <literal>r</literal> は,2つの多項式の商<literal>r=num/den</literal>です.
- 有理数の内部表現はリストです.
- <literal>r=tlist('['r','num','den','dt'],num,den,[])</literal>は
- <literal>r=num/den</literal>と同じです.
- 有理行列は通常の構文で定義できます.
- 例えば, <literal>[r11,r12;r21,r22]</literal>は 2x2 行列です.
- ただし, <literal>rij</literal> は 1x1 有理数です.
- 有理行列は,
- <literal>num</literal> および <literal>den</literal>を多項式行列として
- リスト<literal>tlist(['r','num','den','dt'],num,den,[])</literal>により
- 定義することも可能です.
- </para>
+ 有理数 <literal>r</literal> は,2つの多項式の商<literal>r=num/den</literal>です.
+ 有理数の内部表現はリストです.
+ <literal>r=tlist('['r','num','den','dt'],num,den,[])</literal>は
+ <literal>r=num/den</literal>と同じです.
+ 有理行列は通常の構文で定義できます.
+ 例えば, <literal>[r11,r12;r21,r22]</literal>は 2x2 行列です.
+ ただし, <literal>rij</literal> は 1x1 有理数です.
+ 有理行列は,
+ <literal>num</literal> および <literal>den</literal>を多項式行列として
+ リスト<literal>tlist(['r','num','den','dt'],num,den,[])</literal>により
+ 定義することも可能です.
+ </para>
</refsection>
<refsection>
<title>例</title>