[doc] misc. fix & improvements
[scilab.git] / scilab / modules / elementary_functions / help / ru_RU / exponential / log2.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) 2008 - INRIA
5  * Copyright (C) 2012 - 2016 - Scilab Enterprises
6  * Copyright (C) 2019 - Samuel GOUGEON
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="log2" xml:lang="ru">
20     <refnamediv>
21         <refname>log2</refname>
22         <refpurpose>логарифм по основанию 2</refpurpose>
23     </refnamediv>
24     <refsynopsisdiv>
25         <title>Синтаксис</title>
26         <synopsis>
27             y = log2(x)
28             [m, e] = log2(u)
29         </synopsis>
30     </refsynopsisdiv>
31     <refsection>
32         <title>Аргументы</title>
33         <variablelist>
34             <varlistentry>
35                 <term>x, y</term>
36                 <listitem>
37                     <para>
38                         массивы десятичных или комплексных чисел, такие, что <literal>2.^y = x</literal>.
39                     </para>
40                 </listitem>
41             </varlistentry>
42             <varlistentry>
43                 <term>u, m, e</term>
44                 <listitem>
45                     <para>
46                         массивы десятичных чисел, такие, что <literal>u = m .* 2.^e</literal>,
47                         при <literal>sign(m)=sign(u)</literal> и <literal>0.5 ≤ abs(m) &lt; 1</literal>.
48                     </para>
49                 </listitem>
50             </varlistentry>
51         </variablelist>
52     </refsection>
53     <refsection>
54         <title>Описание</title>
55         <para>
56             <literal>log2(x)</literal> является поэлементным логарифмом по основанию 2
57             <literal>y(i,j) = log2(x(i,j))</literal>.
58             <note>
59                 <literal>log2(-%inf) == %inf + log2(-1)</literal>
60             </note>
61         </para>
62         <para>
63             <literal>[m, e] = log2(u)</literal> вычисляет поэлементно мантиссу по основанию 2
64             <varname>m</varname> и экспоненту <varname>e</varname> каждого элемента
65             <varname>u</varname>. Следовательно, для любого индекса <literal>k</literal> имеем
66             <literal>u(k) = m(k) .* 2.^e(k)</literal> при <literal>0.5 ≤ |m(k)| &lt; 1</literal>.
67             <note>
68                 <itemizedlist>
69                     <listitem>
70                         <literal>[m, e] = log2([0 %nan -%inf %inf])</literal> возвращает
71                         <literal>m=[0  NaN -Inf Inf]</literal> и <literal>e=[0 0 0 0]</literal>.
72                     </listitem>
73                     <listitem>
74                         Этот синтаксис соответствует функции frexp() ANSI C.
75                     </listitem>
76                 </itemizedlist>
77             </note>
78         </para>
79     </refsection>
80     <refsection>
81         <title>Примеры</title>
82         <para>
83             Логарифм по основанию 2:
84         </para>
85         <programlisting role="example"><![CDATA[
86 L = log2([-1, 1, 2, %i, -%i])
87 clean(2.^L)
88 L = log2([0 %nan %inf])
89 2 .^ L
90 L = log2([0 %nan %inf -%inf]) // -%inf<0 превращает результат в комплексный вид
91 2 .^ L                        // -Inf не получится
92  ]]></programlisting>
93     <screen><![CDATA[
94 --> L = log2([-1, 1, 2, %i, -%i])
95  L  =
96    4.5323601i   0.   1.   2.2661801i  -2.2661801i
97
98 --> clean(2.^L)
99  ans  =
100   -1.   1.   2.   i   -i
101
102 --> L = log2([0 %nan %inf])
103  L  =
104   -Inf   Nan   Inf
105
106 --> 2 .^ L
107  ans  =
108    0.   Nan   Inf
109
110 --> L = log2([0 %nan %inf -%inf]) // -%inf<0 превращает результат в комплексный вид
111  L  =
112   -Inf   Nan + Nani   Inf   Inf + 4.5323601i
113
114 --> 2 .^ L                        // -Inf не получится
115  ans  =
116    0.   Nan + Nani   Inf   Nan + Nani
117 ]]></screen>
118         <para/>
119         <para>
120             Разложение на мантиссу по основанию 2 + экспоненту:
121         </para>
122         <programlisting role="example"><![CDATA[
123 [m, e] = log2([-3, -1.5, -1, 0, 4, 1e20])
124 m .* 2.^e
125  ]]></programlisting>
126     <screen><![CDATA[
127 --> [m, e] = log2([-3, -1.5, -1, 0, 4, 1e20])
128  e  =
129    2.     1.     1.    0.   3.   67.
130  m  =
131   -0.75  -0.75  -0.5   0.   0.5   0.6776264
132
133 --> m .* 2.^e
134  ans  =
135   -3.  -1.5  -1.   0.   4.   1.000D+20
136 ]]></screen>
137     <para/>
138         <programlisting role="example"><![CDATA[
139 np = number_properties;
140 x = [%eps np("tiniest") np("tiny") np("huge")]
141 [m, e] = log2(x)
142  ]]></programlisting>
143     <screen><![CDATA[
144 --> x = [%eps np("tiniest") np("tiny") np("huge")]
145  x  =
146     2.220D-16    4.94D-324    2.22D-308    1.79D+308
147
148 --> [m, e] = log2(x)
149  e  =
150   - 51.  - 1073.  - 1021.    1024.
151  m  =
152     0.5    0.5    0.5    1.
153 ]]></screen>
154     <para/>
155         <programlisting role="example"><![CDATA[
156 [m, e] = log2([0 %nan -%inf %inf])
157 m .* 2.^e
158  ]]></programlisting>
159     <screen><![CDATA[
160 -->[m, e] = log2([0 %nan -%inf %inf])
161  e  =
162     0.    0.    0.    0.
163  m  =
164     0.    Nan  - Inf    Inf
165
166 -->m .* 2.^e
167  ans  =
168     0.    Nan  - Inf    Inf
169 ]]></screen>
170     </refsection>
171     <refsection role="see also">
172         <title>Смотрите также</title>
173         <simplelist type="inline">
174             <member>
175                 <link linkend="log">log</link>
176             </member>
177             <member>
178                 <link linkend="log10">log10</link>
179             </member>
180             <member>
181                 <link linkend="nextpow2">nextpow2</link>
182             </member>
183             <member>
184                 <link linkend="bitstring">bitstring</link>
185             </member>
186             <member>
187                 <link linkend="hat">hat</link>
188             </member>
189             <member>
190                 <link linkend="ieee">ieee</link>
191             </member>
192         </simplelist>
193     </refsection>
194 </refentry>