f603d6c7ced4ce963f0d45e0cdd3545df4807027
[scilab.git] / scilab / modules / elementary_functions / help / ru_RU / complex / complex.xml
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!--
3  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4  * Copyright (C) 2011 - DIGITEO - Michael Baudin
5  *
6  * Copyright (C) 2012 - 2016 - Scilab Enterprises
7  *
8  * This file is hereby licensed under the terms of the GNU GPL v2.0,
9  * pursuant to article 5.3.4 of the CeCILL v.2.1.
10  * This file was originally licensed under the terms of the CeCILL v2.1,
11  * and continues to be available under such terms.
12  * For more information, see the COPYING file which you should have received
13  * along with this program.
14  *
15  -->
16 <refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink"
17           xmlns:svg="http://www.w3.org/2000/svg" xmlns:ns5="http://www.w3.org/1999/xhtml"
18           xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:db="http://docbook.org/ns/docbook"
19           xmlns:scilab="http://www.scilab.org" xml:id="complex" xml:lang="ru">
20     <refnamediv>
21         <refname>complex</refname>
22         <refpurpose>Создание комплексного числа.</refpurpose>
23     </refnamediv>
24     <refsynopsisdiv>
25         <title>Синтаксис</title>
26         <synopsis>
27             c=complex(a)
28             c=complex(a,b)
29         </synopsis>
30     </refsynopsisdiv>
31     <refsection>
32         <title>Аргументы</title>
33         <variablelist>
34             <varlistentry>
35                 <term>a</term>
36                 <listitem>
37                     <para>
38                         вещественная матрица значений двойной точности размером 1 на 1 или
39                         <literal>n</literal> на <literal>m</literal>, реальная часть.
40                         Если <literal>a</literal> имеет мнимую часть, то сформируется ошибка.
41                     </para>
42                 </listitem>
43             </varlistentry>
44             <varlistentry>
45                 <term>b</term>
46                 <listitem>
47                     <para>
48                         вещественная матрица значений двойной точности размером 1 на 1 или
49                         <literal>n</literal> на <literal>m</literal>, реальная часть (по умолчанию
50                         <literal>b=0</literal>).
51                         Если <literal>b</literal> имеет мнимую часть, то сформируется ошибка.
52                     </para>
53                 </listitem>
54             </varlistentry>
55             <varlistentry>
56                 <term>c</term>
57                 <listitem>
58                     <para>
59                         комплексная матрица значений двойной точности размером <literal>n</literal> на
60                         <literal>m</literal>, комплексное число.
61                     </para>
62                 </listitem>
63             </varlistentry>
64         </variablelist>
65     </refsection>
66     <refsection>
67         <title>Описание</title>
68         <para>
69             <literal>c=complex(a)</literal> создаёт комплексное число из его реальной части
70             <literal>a</literal> и нуля в качестве мнимой части.
71         </para>
72         <para>
73             <literal>c=complex(a,b)</literal> создаёт комплексное число из его реальной части
74             <literal>a</literal> и мнимой части <literal>b</literal>.
75         </para>
76         <para>
77             Эта функция является заменой для таких выражений как <literal>a+%i*b</literal>,
78             особенно в случаях, когда комплексная арифметика пересекается с особыми числами с
79             плавающей запятой, такими как <literal>%inf</literal> или <literal>%nan</literal>.
80         </para>
81     </refsection>
82     <refsection>
83         <title>Примеры</title>
84         <para>
85             В следующем примере мы создадим комплексное число из его реальной и мнимой части.
86         </para>
87         <programlisting role="example"><![CDATA[
88 complex(1,2)
89 complex([1 2],[3 4])
90  ]]></programlisting>
91         <para>
92             Если определено только <literal>a</literal>, то мнимая часть устанавливается равной нулю.
93         </para>
94         <programlisting role="example"><![CDATA[
95 complex([1 2 3])
96  ]]></programlisting>
97         <para>
98             Если <literal>a</literal> является скаляром, а <literal>b</literal>
99             является матрицей, то результат <literal>c</literal> имеет тот же размер, что и
100             <literal>b</literal>.
101             Аналогично, если <literal>a</literal> является матрицей, а <literal>b</literal> является
102             скаляром, то результат <literal>c</literal> имеет тот же размер, что и
103             <literal>a</literal>.
104         </para>
105         <programlisting role="example"><![CDATA[
106 c = complex([1 2 3], 4)
107 c = complex(1, [2 3 4])
108  ]]></programlisting>
109         <para>
110             Если <literal>a</literal> и <literal>b</literal> являются матрицами разных размеров,
111             то сформируется ошибка, как в следующем примере.
112         </para>
113         <screen><![CDATA[
114 -->complex(ones(2,3),ones(4,5))
115  !--error 10000
116 complex: Несовместимые входные параметры №1 и №2: ожидались одинаковые размеры.
117 at line      33 of function complex called by :
118 complex(ones(2,3),ones(4,5))
119  ]]></screen>
120         <para>
121             Целью функции <literal>complex</literal> является управление числами с плавающей запятой,
122             такими как нечисловые значения (<literal>Nan</literal>) или бесконечность
123             (<literal>Inf</literal>).
124             На следующем примере мы покажем, что создание комплексного числа, у которого
125             реальная  и мнимая части являются комплексными, не простое дело, если мы используем
126             комплексную арифметику. Это из-за того, что произведение <literal>%i</literal> на
127             <literal>%inf</literal> вычисляется как <literal>(0+%i) * (%inf+%i*0)</literal>.
128             Это даёт промежуточное выражение <literal>0*%inf</literal>, которое равно <literal>%nan</literal>.
129         </para>
130         <screen><![CDATA[
131 -->%inf+%i*%inf
132  ans  =
133     Nan + Inf
134  ]]></screen>
135         <para>
136             Решением этой проблемы является использование функции <literal>complex</literal>.
137         </para>
138         <screen><![CDATA[
139 -->complex(%inf,%inf)
140  ans  =
141     Inf + Inf
142  ]]></screen>
143     </refsection>
144     <refsection role="see also">
145         <title>Смотрите также</title>
146         <simplelist type="inline">
147             <member>
148                 <link linkend="percenti">%i</link>
149             </member>
150             <member>
151                 <link linkend="imult">imult</link>
152             </member>
153         </simplelist>
154     </refsection>
155 </refentry>