<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="http://wiki2.linuxformat.ru/skins/common/feed.css?97"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>LXF82:PAW - История изменений</title>
		<link>http://wiki2.linuxformat.ru/index.php?title=LXF82:PAW&amp;action=history</link>
		<description>История изменений этой страницы в вики</description>
		<language>ru</language>
		<generator>MediaWiki 1.11.1</generator>
		<lastBuildDate>Wed, 13 May 2026 22:25:13 GMT</lastBuildDate>
		<item>
			<title>Yaleks: иллюстрация</title>
			<link>http://wiki2.linuxformat.ru/index.php?title=LXF82:PAW&amp;diff=6261&amp;oldid=prev</link>
			<description>&lt;p&gt;иллюстрация&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Версия 13:47, 28 декабря 2008&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 56:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 56:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;соответствующая более короткому интервалу.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;соответствующая более короткому интервалу.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Изображение:Img 82 112 1.png|thumb|Зависимость качества LKr от времени.]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Сначала исключим временную зависимость. Воспользуемся для&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Сначала исключим временную зависимость. Воспользуемся для&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;этого стандартной процедурой подгонки для векторов VECTOR/FIT X Y&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;этого стандартной процедурой подгонки для векторов VECTOR/FIT X Y&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 79:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 80:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;P1 — свободная константа и P2 — коэффициент пропорциональности&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;P1 — свободная константа и P2 — коэффициент пропорциональности&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Изображение:Img 82 113 1.png|thumb|Гистограмма ошибок измеряемого параметра.]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Для исключения временной зависимости воспользуемся пакетом&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Для исключения временной зависимости воспользуемся пакетом&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;SIGMA (help sigma). С помощью команды sigma векторами можно&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;SIGMA (help sigma). С помощью команды sigma векторами можно&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 99:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 101:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;точность предсказания не будет выше этих 0.15 %-0.2 %.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;точность предсказания не будет выше этих 0.15 %-0.2 %.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Изображение:Img 82 113 2.png|thumb|Гистограмма ошибок измеряемого параметра]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;После того, как мы убрали основную (временную) зависимость, можно проверить, зависит ли изучаемая переменная от давления (P) и магнитного поля (H). Для этого воспользуемся способностью PAW создавать&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;После того, как мы убрали основную (временную) зависимость, можно проверить, зависит ли изучаемая переменная от давления (P) и магнитного поля (H). Для этого воспользуемся способностью PAW создавать&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;и отображать двумерные гистограмм:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;и отображать двумерные гистограмм:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 115:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 118:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;опции изображения.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;опции изображения.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Изображение:Img 82 113 3.png|thumb|Сравнение двух гистограмм с помощью наложения.]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Из картинки справа видно, что&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Из картинки справа видно, что&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;какая-то зависимость есть — избавимся от нее, как это было сделано с временной зависимостью. В результате&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;какая-то зависимость есть — избавимся от нее, как это было сделано с временной зависимостью. В результате&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 150:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 154:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;получена зависимость:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;получена зависимость:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; AVG=3.46+2.29•10-9-9*time-9.9*10-2-2P+1.8*10-3-3H&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt; AVG=3.46+2.29•10-9-9*time-9.9*10-2-2P+1.8*10-3-3H&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Изображение:Img 82 114 1.png|thumb|Сравнение двух гистограмм. Подгонка функцией Гаусса.]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Эта функция позволяет предсказывать исследуемое&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Эта функция позволяет предсказывать исследуемое&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;значение в зависимости от времени, давления и магнитного поля, но&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;значение в зависимости от времени, давления и магнитного поля, но&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 217:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 222:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Ntuple ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Ntuple ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Изображение:Img 82 115 1.png|thumb|Разность между экспериментом и предсказания в зависимости от наложенного условия на величину ошибки.]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;То, что только что было сделано с помощью векторов можно проделать&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;То, что только что было сделано с помощью векторов можно проделать&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;с помощью ntuple. Для этого надо сначала создать ntuple (NTUPLE/CREATE), а затем считать в него текстовый файл (NTUPLE/READ).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;с помощью ntuple. Для этого надо сначала создать ntuple (NTUPLE/CREATE), а затем считать в него текстовый файл (NTUPLE/READ).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 253:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 259:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Гистограммы ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Гистограммы ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Изображение:Img 82 115 2.png|thumb|Подгонка гистограммы с помощью функции Гаусса и пользовательской функции.]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Гистограммы — это базовые объекты PAW. Непосредственно перед отображением данные почти всегда преобразуются в одно- или двумерную&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Гистограммы — это базовые объекты PAW. Непосредственно перед отображением данные почти всегда преобразуются в одно- или двумерную&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;гистограмму. На гистограмму можно просто смотреть, а можно подгонять какой-либо теоретической зависимостью (HISTOGRAM/FIT).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;гистограмму. На гистограмму можно просто смотреть, а можно подгонять какой-либо теоретической зависимостью (HISTOGRAM/FIT).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 344:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 351:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Функции ===&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;=== Функции ===&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Изображение:Img 82 116 1.png|thumb|Пример одномерной функции.]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Функции также являются базовым объектом для PAW. Для отрисовки&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Функции также являются базовым объектом для PAW. Для отрисовки&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;одномерных функций используется команда FUNCTION/PLOT.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;одномерных функций используется команда FUNCTION/PLOT.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 356:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 364:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;нее отвечает за организацию представления данных, а не за графическое оформление.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;нее отвечает за организацию представления данных, а не за графическое оформление.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Изображение:Img 82 116 2.png|thumb]][[Изображение:Img 82 116 3.png|thumb|Множество Мандельброта. Опции CONT3 и SURF4, соответственно.]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Работу с двумерными функциями продемонстрируем на классическом фрактальном изображении имени Мандельброта. Создадим код на&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Работу с двумерными функциями продемонстрируем на классическом фрактальном изображении имени Мандельброта. Создадим код на&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;FORTRAN:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;FORTRAN:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sun, 28 Dec 2008 13:47:15 GMT</pubDate>			<dc:creator>Yaleks</dc:creator>			<comments>http://wiki2.linuxformat.ru/index.php/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:LXF82:PAW</comments>		</item>
		<item>
			<title>Yaleks: викификация</title>
			<link>http://wiki2.linuxformat.ru/index.php?title=LXF82:PAW&amp;diff=6209&amp;oldid=prev</link>
			<description>&lt;p&gt;викификация&lt;/p&gt;
&lt;a href=&quot;http://wiki2.linuxformat.ru/index.php?title=LXF82:PAW&amp;amp;diff=6209&amp;amp;oldid=6208&quot;&gt;(Различия между версиями)&lt;/a&gt;</description>
			<pubDate>Thu, 25 Dec 2008 13:27:12 GMT</pubDate>			<dc:creator>Yaleks</dc:creator>			<comments>http://wiki2.linuxformat.ru/index.php/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:LXF82:PAW</comments>		</item>
		<item>
			<title>Yaleks: Новая: {{Цикл/PAW ROOT}} == PAW: приемы работы == ''ЧАСТЬ 2 Впечатлены возможностями PAW? Приготовьтесь к большему – сейч...</title>
			<link>http://wiki2.linuxformat.ru/index.php?title=LXF82:PAW&amp;diff=6208&amp;oldid=prev</link>
			<description>&lt;p&gt;Новая: {{Цикл/PAW ROOT}} == PAW: приемы работы == ''ЧАСТЬ 2 Впечатлены возможностями PAW? Приготовьтесь к большему – сейч...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая статья&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Цикл/PAW ROOT}}&lt;br /&gt;
== PAW: приемы работы ==&lt;br /&gt;
''ЧАСТЬ 2 Впечатлены возможностями PAW? Приготовьтесь к большему – сейчас '''Евгений Балдин''' продемонстрирует вам эту систему в деле!''&lt;br /&gt;
&lt;br /&gt;
Система анализа данных PAW или Physics Analysis Workstation&lt;br /&gt;
для своей работы не требует доскональных знаний всех подсистем и команд. Но чтобы действовать эффективно, следует&lt;br /&gt;
изучить логику построения команд и стандартные приемы. Это позволит&lt;br /&gt;
в дальнейшем легко получать навыки для выполнения более сложных&lt;br /&gt;
задач.&lt;br /&gt;
&lt;br /&gt;
Если даже вы не планируете использовать PAW, в любом случае&lt;br /&gt;
будет полезно присмотреться к этому инструменту, так как он сравнительно прост и основные концепции, необходимые для анализа данных,&lt;br /&gt;
достаточно прозрачны для понимания. Создатели PAW действовали по&lt;br /&gt;
принципу минимализма. Делалось только необходимое – никаких&lt;br /&gt;
«рюшечек», зато просто. Жесткая структура команд дополнена возможностью писать свои функции и скрипты.&lt;br /&gt;
&lt;br /&gt;
=== Простейший анализ ===&lt;br /&gt;
Учиться лучше всего на примере реального анализа. Попробуем сделать&lt;br /&gt;
нечто подобное.&lt;br /&gt;
&lt;br /&gt;
Будем считать, что программа PAW уже запущена и мы находимся в&lt;br /&gt;
рабочей директории. Вызов внешних команд обеспечивается с помощью инструкции SHELL (можно сократить до sh).&lt;br /&gt;
&amp;lt;pre&amp;gt;PAW &amp;gt; sh ls&lt;br /&gt;
ascii.png lkravg.dat PAW.metafile ee-ang.rz&lt;br /&gt;
th1.eps last.kumac last.kumacold sin.dat&amp;lt;/pre&amp;gt;&lt;br /&gt;
Необходимо провести предварительный анализ данных, представленных в текстовом файле lkravg.dat:&lt;br /&gt;
&amp;lt;pre&amp;gt;1099279655 4119 0.8318 0.0014 1.13 5.99195&lt;br /&gt;
1099397693 4126 0.8404 0.0032 1.07 6.001685&lt;br /&gt;
…&amp;lt;/pre&amp;gt;&lt;br /&gt;
Колонки соответствуют time_t – времени в секундах, номеру измерения, исследуемому значению, ошибке значения для текущего измерения и двум сторонним параметрам, от которых интересующее нас значение может зависеть. Задача: имея время и два сторонних параметра,&lt;br /&gt;
попробовать предсказать исследуемое значение.&lt;br /&gt;
&lt;br /&gt;
Анализировать можно и без модели явления, но чтобы правильно&lt;br /&gt;
подготовить данные для исследования, необходимо ее иметь. Легенда&lt;br /&gt;
для этих данных следующая: исследуемое значение представляет из себя&lt;br /&gt;
степень «ухудшения» качества жидкого криптона (LKr – Liquid Kripton) в&lt;br /&gt;
LKr-калориметре для регистрации энергии элементарных частиц. Качество&lt;br /&gt;
вычисляется в относительных единицах по амплитуде сигнала от космических мюонов (эти частицы хорошо выделяются и есть всегда). Два параметра, от которых может зависеть качество: избыточное давление LKr и&lt;br /&gt;
магнитное поле, в котором находится калориметр. Избыточное давление&lt;br /&gt;
примерно линейно связано с температурой LKr, что влияет на амплитуду&lt;br /&gt;
сигнала. В магнитном поле прямолинейная траектория мюона искажается,&lt;br /&gt;
что тоже может влиять на амплитуду.&lt;br /&gt;
&lt;br /&gt;
В первую очередь, необходимо прочитать данные из текстового&lt;br /&gt;
файла. Для этого можно воспользоваться командой VECTOR/READ&lt;br /&gt;
(help ve/re):&lt;br /&gt;
&amp;lt;pre&amp;gt;#чтение текстового файла в вектора&lt;br /&gt;
PAW &amp;gt; ve/re time,run,avg,avg_er,P,H lkravg.dat&lt;br /&gt;
# меняем тип маркера&lt;br /&gt;
PAW &amp;gt; set mtyp 2&lt;br /&gt;
# изобразим зависимость исследуемого значения от времени&lt;br /&gt;
PAW &amp;gt; ve/pl avg%time&amp;lt;/pre&amp;gt;&lt;br /&gt;
Из рисунка ниже видно, что исследуемое значение в среднем&lt;br /&gt;
уменьшается за большой промежуток времени (исследуемый интервал&lt;br /&gt;
равен году и четырем месяцам), и в то же время у данных есть структура,&lt;br /&gt;
соответствующая более короткому интервалу.&lt;br /&gt;
&lt;br /&gt;
Сначала исключим временную зависимость. Воспользуемся для&lt;br /&gt;
этого стандартной процедурой подгонки для векторов VECTOR/FIT X Y&lt;br /&gt;
EY FUNC (help ve/fit), где X соответствует оси времени, Y – исследуемому значению, EY – ошибки определения значения, а FUNC – подгоночной функции. Вместо FUNC можно передать любую функцию, написанную на FORTRAN, но в нашем случае достаточно полинома первой степени. Для полинома в PAW есть сокращенное обозначение PN, где N –&lt;br /&gt;
степень полинома.&lt;br /&gt;
&amp;lt;pre&amp;gt;#подгоняем временную зависимость прямой&lt;br /&gt;
PAW &amp;gt; ve/fit time avg avg_er P1&lt;br /&gt;
*********************************************************&lt;br /&gt;
*                                                       *&lt;br /&gt;
* Function minimization by SUBROUTINE HFITV             *&lt;br /&gt;
* Variable-metric method                                *&lt;br /&gt;
* ID = 0 CHOPT =                                        *&lt;br /&gt;
*                                                       *&lt;br /&gt;
*********************************************************&lt;br /&gt;
Convergence when estimated distance to minimum (EDM) .LT. 0.10E+01&lt;br /&gt;
EXT PARAMETER APPROXIMATE STEP FIRST&lt;br /&gt;
NO. NAME VALUE ERROR SIZE DERIVATIVE&lt;br /&gt;
1 P1 3.3620 0.50070E-03 0.85051E-02 -223.19&lt;br /&gt;
2 P2 -0.22939E-08 0.44872E-12 0.58032E-11 -0.27325E+12&lt;br /&gt;
CHISQUARE = 0.1680E+02 NPFIT = 1644&amp;lt;/pre&amp;gt;&lt;br /&gt;
При выполнении процедуры подгонки PAW выдает стандартную «портянку». Основной интерес для пользователя представляют результаты&lt;br /&gt;
подгонки. В случае полинома первой степени подгоняются два параметра&lt;br /&gt;
P1 – свободная константа и P2 – коэффициент пропорциональности&lt;br /&gt;
&lt;br /&gt;
Для исключения временной зависимости воспользуемся пакетом&lt;br /&gt;
SIGMA (help sigma). С помощью команды sigma векторами можно&lt;br /&gt;
манипулировать, как обычными переменными:&lt;br /&gt;
&amp;lt;pre&amp;gt;#создаем новый вектор уже без временной зависимости&lt;br /&gt;
PAW &amp;gt; sigma avg1=avg-3.3620+0.22939E-08*time&amp;lt;/pre&amp;gt;&lt;br /&gt;
Прежде чем действовать дальше, оценим, какую точность в принципе можно ожидать. Вектору исследуемой величины avg соответствует&lt;br /&gt;
вектор ошибок avg_er. Посмотрим, чему равны эти ошибки. Число&lt;br /&gt;
измерений превосходит полторы тысячи, поэтому просмотреть все значения глазами не очень реально. Лучше создать гистограмму:&lt;br /&gt;
&amp;lt;pre&amp;gt;#создаем из значений вектора гистограмму N15&lt;br /&gt;
PAW &amp;gt; ve/pl avg_er 15&lt;br /&gt;
#включаем отображение статистики (число событий/среднее/разброс)&lt;br /&gt;
PAW &amp;gt; opt sta&lt;br /&gt;
#меняем цвет гистограммы на красный&lt;br /&gt;
PAW &amp;gt; set hcol 2&lt;br /&gt;
#вывод гистограммы N15 в диапазоне от 0. до 0.01&lt;br /&gt;
PAW &amp;gt; hi/plot 15(0.:0.01)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Из гистограммы видно, что большинство измерений имеют ошибку&lt;br /&gt;
меньше 0.15·10-2–0.2·10-2. То есть, даже при самом удачном раскладе&lt;br /&gt;
точность предсказания не будет выше этих 0.15%-0.2%.&lt;br /&gt;
&lt;br /&gt;
После того, как мы убрали основную (временную) зависимость, можно проверить, зависит ли изучаемая переменная от давления (P) и магнитного поля (H). Для этого воспользуемся способностью PAW создавать&lt;br /&gt;
и отображать двумерные гистограмм:&lt;br /&gt;
&amp;lt;pre&amp;gt;#создаем двумерную гистограмму: давление от avg1&lt;br /&gt;
PAW &amp;gt; ve/pl P%avg1 10&lt;br /&gt;
#изобразим двумерную гистограмму 10 в виде поверхности&lt;br /&gt;
PAW &amp;gt; SURF 10 65 -30 1&amp;lt;/pre&amp;gt;&lt;br /&gt;
Обратите внимание на разделитель % между векторами в команде&lt;br /&gt;
VECTOR/PLOT. Значениям первого вектора противопоставляется ось&lt;br /&gt;
ординат (ось Y), а значениям второго ось абсцисс (ось X).&lt;br /&gt;
&lt;br /&gt;
Команда HISTOGRAMgfv/2D_PLOT/SURFACE [ID THETA PHI&lt;br /&gt;
CHOPT] (help surf) позволяет отобразить двумерную гистограмму в&lt;br /&gt;
виде поверхности. Здесь ID – номер гистограммы, THETA и PHI – углы&lt;br /&gt;
поворота гистограммы и в сферической системе координат, CHOPT –&lt;br /&gt;
опции изображения.&lt;br /&gt;
&lt;br /&gt;
Из картинки справа видно, что&lt;br /&gt;
какая-то зависимость есть – избавимся от нее, как это было сделано с временной зависимостью. В результате&lt;br /&gt;
подгонки сначала для давления, а&lt;br /&gt;
потом для поля можно получить еще&lt;br /&gt;
две формулы:&lt;br /&gt;
&amp;lt;pre&amp;gt;#поправка на давление&lt;br /&gt;
PAW &amp;gt; sigma avg2=avg1-0.10901+0.99336E-01*P&lt;br /&gt;
#поправка на магнитное поле&lt;br /&gt;
PAW &amp;gt; sigma avg3=avg2+0.10844E-01-0.18258E-02*H&lt;br /&gt;
#сравниваем две гистограммы до и после поправок&lt;br /&gt;
#на давление и магнитное поле&lt;br /&gt;
#переключаем цвет на красный&lt;br /&gt;
PAW &amp;gt; set hcol 2&lt;br /&gt;
#рисуем гистограмму по значениям вектора&lt;br /&gt;
PAW &amp;gt; ve/plot avg3&lt;br /&gt;
#переключаем цвет на синий&lt;br /&gt;
PAW &amp;gt; set hcol 4&lt;br /&gt;
#рисуем вторую гистограмму поверх ‘s’ - superimpose&lt;br /&gt;
PAW &amp;gt; ve/plot avg1 ! ‘s’&amp;lt;/pre&amp;gt;&lt;br /&gt;
Обратите внимание на команду SET (help GRAPHICS/SET). Эта инструкция позволяет менять параметры графического представления данных. Если запустить ее без опций, то будет выдан список переменных,&lt;br /&gt;
которые устанавливаются с помощью этой команды.&lt;br /&gt;
&lt;br /&gt;
На рисунке справа представлены&lt;br /&gt;
две гистограммы. Красная – конечный&lt;br /&gt;
результат, а синяя – то, что осталось&lt;br /&gt;
после исключения временной зависимости. Очевидно, что после учета давления и поля разброс уменьшился.&lt;br /&gt;
Несимметричность гистограмм указывает на то, что временная зависимость&lt;br /&gt;
на самом деле нелинейная. В реальности при подгонке использовалась&lt;br /&gt;
экспоненциальная зависимость плюс&lt;br /&gt;
некоторая константа. Выбор подгоночной функции был продиктован физической моделью явления, но по большому счету на этом временном интервале она не сильно отличается от&lt;br /&gt;
обычной прямой.&lt;br /&gt;
&lt;br /&gt;
В результате всех действий была&lt;br /&gt;
получена зависимость:&lt;br /&gt;
 AVG=3.46+2.29•10-9-9*time-9.9*10-2-2P+1.8*10-3-3H&lt;br /&gt;
Эта функция позволяет предсказывать исследуемое&lt;br /&gt;
значение в зависимости от времени, давления и магнитного поля, но&lt;br /&gt;
какова точность этого предсказания? Для ее оценки достаточно получить распределение разницы значений между экспериментальными&lt;br /&gt;
точками и данной зависимостью, а затем взять его ширину. Можно&lt;br /&gt;
просто оценить ширину распределения «на глазок», посмотрев на&lt;br /&gt;
обсуждаемый рисунок, а можно получить ее из известной функции,&lt;br /&gt;
более-менее описывающей это распределение, например, из функции&lt;br /&gt;
Гаусса:&lt;br /&gt;
&amp;lt;pre&amp;gt;#создаем из значений вектора avg1 гистограмму N11&lt;br /&gt;
PAW &amp;gt; ve/plot avg1 11&lt;br /&gt;
#подгоняем гистограмму N11 в диапазоне (-0.007,0.007)&lt;br /&gt;
#функцией Гаусса (G - Gauss)&lt;br /&gt;
PAW &amp;gt; hi/fit 11(-0.007:0.007) G&lt;br /&gt;
…&lt;br /&gt;
EXT PARAMETER …&lt;br /&gt;
NO. NAME VALUE ERROR …&lt;br /&gt;
1 Constant 51.608 1.9494 …&lt;br /&gt;
2 Mean 0.39292E-03 0.20076E-03 …&lt;br /&gt;
3 Sigma 0.51728E-02 0.27301E-03 …&lt;br /&gt;
…&lt;br /&gt;
#создаем из значений вектора avg3 гистограмму N13&lt;br /&gt;
PAW &amp;gt; ve/plot avg3 13&lt;br /&gt;
PAW &amp;gt; hi/fit 13(-0.004:0.004) G&lt;br /&gt;
…&lt;br /&gt;
EXT PARAMETER …&lt;br /&gt;
NO. NAME VALUE ERROR …&lt;br /&gt;
1 Constant 75.655 3.0477 …&lt;br /&gt;
2 Mean 0.20614E-03 0.11857E-03 …&lt;br /&gt;
3 Sigma 0.29684E-02 0.16655E-03 …&lt;br /&gt;
…&lt;br /&gt;
#делим графическое окно на две зоны по оси ординат (help zone)&lt;br /&gt;
PAW &amp;gt; zone 1 2&lt;br /&gt;
#меняем цвет гистограммы на синий&lt;br /&gt;
PAW &amp;gt; set hcol 4&lt;br /&gt;
#рисуем гистограмму в диапазоне (-0.009,0.009)&lt;br /&gt;
PAW &amp;gt; hi/pl 11(-0.009:0.009)&lt;br /&gt;
#меняем цвет гистограммы на красный&lt;br /&gt;
PAW &amp;gt; set hcol 2&lt;br /&gt;
PAW &amp;gt; hi/pl 13(-0.009:0.009)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Из всех значений в данном случае интересно только значение ширины распределения, или SIGMA&amp;lt;ref&amp;gt;В случае гауссоподобного распределения в диапазоне (&amp;lt;x&amp;gt;– ,&amp;lt;x&amp;gt;+ ) лежит примерно 68% от всех событий. &amp;lt;x&amp;gt; — среднее значение или MEAN, соответствует SIGMA&amp;lt;/ref&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Если учитывать только временную зависимость, то точность предсказания будет примерно 0.52%, если же учесть давление и магнитное поле,&lt;br /&gt;
то точность улучшится до 0.30%, что существенно хуже идеальных 0.15-0.2%. Очевидно, что остались еще какие-то неучтенные систематики.&lt;br /&gt;
&lt;br /&gt;
Оценим, какую систематику удалось выбрать, учтя зависимость от&lt;br /&gt;
давления и магнитного поля. Для этого воспользуемся системой COMIS&lt;br /&gt;
(help comis):&lt;br /&gt;
&amp;lt;pre&amp;gt;PAW &amp;gt; comis&lt;br /&gt;
PAW&lt;br /&gt;
CS&amp;gt; type sqrt(0.52**2-0.30**2)&lt;br /&gt;
MND&amp;gt; end&lt;br /&gt;
*T SQRT(0.52**2-0.30**2) = 0.4247352&lt;br /&gt;
PAW&lt;br /&gt;
CS&amp;gt; end&amp;lt;/pre&amp;gt;&lt;br /&gt;
В общем, неплохо. Кстати, более тщательный анализ никаких кардинальных улучшений не дал – удалось только уменьшить «хвосты» и&lt;br /&gt;
сделать итоговое распределение более симметричным за счет выбора&lt;br /&gt;
более сложной подгоночной функции.&lt;br /&gt;
&lt;br /&gt;
Быстрый анализ позволяет оценить, к какой точности имеет смысл&lt;br /&gt;
стремиться. Это очень важно, так как сложность получения большей&lt;br /&gt;
точности увеличивается от требуемой точности существенно нелинейным образом. Фактически на только что изложенный анализ по разным&lt;br /&gt;
причинам ушел примерно месяц реального времени. Правда, основные&lt;br /&gt;
проблемы были вовсе не технические. В частности очень много времени&lt;br /&gt;
ушло на осознание, что исследуемая величина зависит от времени – это&lt;br /&gt;
не казалось очевидным.&lt;br /&gt;
&lt;br /&gt;
=== Ntuple ===&lt;br /&gt;
То, что только что было сделано с помощью векторов можно проделать&lt;br /&gt;
с помощью ntuple. Для этого надо сначала создать ntuple (NTUPLE/CREATE), а затем считать в него текстовый файл (NTUPLE/READ).&lt;br /&gt;
&amp;lt;pre&amp;gt;# создаем ntuple c ID=1&lt;br /&gt;
PAW &amp;gt; nt/cre 1 ‘LKr quality’ 6 ! ! time run avg er P H&lt;br /&gt;
#читаем в ntuple с ID 1 текстовый файл&lt;br /&gt;
PAW &amp;gt; nt/read 1 lkravg.dat&lt;br /&gt;
==&amp;gt; 1644 events have been read&lt;br /&gt;
PAW &amp;gt; nt/print 1&lt;br /&gt;
*****************************************************************&lt;br /&gt;
* NTUPLE ID= 1 ENTRIES= 1644 LKr quality&lt;br /&gt;
*****************************************************************&lt;br /&gt;
* Var numb * Name * Lower * Upper *&lt;br /&gt;
*****************************************************************&lt;br /&gt;
* 1 * TIME * 0.109828E+10 * 0.113892E+10 *&lt;br /&gt;
* 2 * RUN * 0.406400E+04 * 0.709400E+04 *&lt;br /&gt;
* 3 * AVG * 0.742800E+00 * 0.846400E+00 *&lt;br /&gt;
* 4 * ER * 0.700000E-03 * 0.201000E-01 *&lt;br /&gt;
* 5 * P * 0.104400E+01 * 0.116000E+01 *&lt;br /&gt;
* 6 * H * 0.000000E+00 * 0.704971E+01 *&lt;br /&gt;
*****************************************************************&lt;br /&gt;
#включаем отображение статистики&lt;br /&gt;
PAW &amp;gt; opt stat&lt;br /&gt;
#отрисовываем разницу между экспериментом и предсказанием&lt;br /&gt;
#с различным ограничением на величину ошибки er&lt;br /&gt;
PAW &amp;gt; set hcol 1&lt;br /&gt;
PAW &amp;gt; nt/pl 1.avg-(3.456-2.29E-9*time-9.9E-2*P+1.8E-3*H)&lt;br /&gt;
PAW &amp;gt; set hcol 2&lt;br /&gt;
PAW &amp;gt; nt/pl 1.avg-(3.456-2.29E-9*time-9.9E-2*P+1.8E-3*H) er&amp;lt;0.0015 ! ! ! ‘s’&lt;br /&gt;
PAW &amp;gt; set hcol 3&lt;br /&gt;
PAW &amp;gt; nt/pl 1.avg-(3.456-2.29E-9*time-9.9E-2*P+1.8E-3*H) er&amp;gt;0.0015 ! ! ! ‘s’&amp;lt;/pre&amp;gt;&lt;br /&gt;
Преимущество при использовании ntuple заключается в том, что&lt;br /&gt;
интерактивно можно накладывать условия для фильтрации данных. Как&lt;br /&gt;
правило, ntuple создаются с помощью внешних программ, а PAW&lt;br /&gt;
используется уже для интерактивного анализа. В стандартной документации к PAW очень подробно описано, как это делается.&lt;br /&gt;
&lt;br /&gt;
=== Гистограммы ===&lt;br /&gt;
Гистограммы – это базовые объекты PAW. Непосредственно перед отображением данные почти всегда преобразуются в одно- или двумерную&lt;br /&gt;
гистограмму. На гистограмму можно просто смотреть, а можно подгонять какой-либо теоретической зависимостью (HISTOGRAM/FIT).&lt;br /&gt;
&amp;lt;pre&amp;gt;#поиск rz-файлов в базовой директории (файл создан внешней программой)&lt;br /&gt;
PAW &amp;gt; sh ls *.rz&lt;br /&gt;
ee-ang.rz&lt;br /&gt;
#чтение файла&lt;br /&gt;
#известно что в файле есть ntuple c ID=1&lt;br /&gt;
PAW &amp;gt; hi/fil 1 ee-ang.rz&lt;br /&gt;
#создаем гистограмм N20 из переменной E1 с некоторыми&lt;br /&gt;
условиями&lt;br /&gt;
PAW &amp;gt; nt/plot 1.E1 f1=11&amp;amp;&amp;amp;f2=-11&amp;amp;&amp;amp;E1&amp;lt;2 ! ! ! ! 20&lt;br /&gt;
#подгоняем гистограмму распределением Гаусса&lt;br /&gt;
PAW &amp;gt; hi/fit 20 G&amp;lt;/pre&amp;gt;&lt;br /&gt;
Из рисунка видно, что наблюдаемое распределение функцией&lt;br /&gt;
Гаусса не подгоняется. Надо что-то делать. Очевидно, что теоретическая&lt;br /&gt;
функция должна быть как минимум несимметрична. Для этой цели&lt;br /&gt;
подойдет так называемый логарифмический гаусс. Для подгонки надо&lt;br /&gt;
создать файл loggaus.for примерно следующего содержания:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;fortran&amp;quot;&amp;gt;C Файл loggaus.for&lt;br /&gt;
real function loggaus(x)&lt;br /&gt;
C С помощью этого common-блока PAW получает доступ&lt;br /&gt;
C к параметрам функции&lt;br /&gt;
common/PAWPAR/PAR(4)&lt;br /&gt;
sqrtln4=1.177410022515475&lt;br /&gt;
A=PAR(1)&lt;br /&gt;
pike=PAR(2)&lt;br /&gt;
sigma=PAR(3)*pike/100.&lt;br /&gt;
assim=PAR(4)&lt;br /&gt;
loggaus=0.&lt;br /&gt;
if (abs(assim).le.1.E-6) then&lt;br /&gt;
assim=sign(1.E-6,assim)&lt;br /&gt;
endif&lt;br /&gt;
if (sigma.le.0.) goto 10&lt;br /&gt;
xx=1.+sinh(assim*sqrtln4)/sqrtln4*(x-pike)/sigma&lt;br /&gt;
if (xx&amp;lt;1.E-07) goto 10&lt;br /&gt;
loggaus=A*exp(-((log(xx)/assim)**2+assim**2)/2.)&lt;br /&gt;
10 continue&lt;br /&gt;
end&amp;lt;/source&amp;gt;&lt;br /&gt;
Функция зависит от четырех параметров: A – амплитуда, pike –&lt;br /&gt;
местоположение пика, sigma – ширины распределения в процентах,&lt;br /&gt;
assim – асимметрии.&lt;br /&gt;
&amp;lt;pre&amp;gt;#создаем вектор параметров с начальными значениями&lt;br /&gt;
PAW &amp;gt; ve/cre par(4) r 25. 1.4 5. 0.&lt;br /&gt;
# создаем вектор с минимально допустимыми значениями (на глазок)&lt;br /&gt;
PAW &amp;gt; ve/cre pmin(4) r 10. 1.3 1. -1.&lt;br /&gt;
# создаем вектор с максимально допустимыми значениями&lt;br /&gt;
PAW &amp;gt; ve/cre pmax(4) r 40. 1.5 10. 1.&lt;br /&gt;
# создаем вектор, для ошибок подгонки&lt;br /&gt;
PAW &amp;gt; ve/cre err(4) r&lt;br /&gt;
# просим PAW подогнать распределение теоретической функцией&lt;br /&gt;
# опции подгонки:&lt;br /&gt;
# B - учитывать минимально/максимально допустимые значения&lt;br /&gt;
# M - перейти интерактивную сессию Minuit&lt;br /&gt;
# M обычно не используется, так как действия PAW при подгонке&lt;br /&gt;
# по умолчанию вполне разумны&lt;br /&gt;
PAW &amp;gt; hi/fit 20 loggaus.for “BM” 4 par ! pmin pmax err&lt;br /&gt;
…&lt;br /&gt;
# задаем имена параметров&lt;br /&gt;
Minuit &amp;gt; name 1 A&lt;br /&gt;
Minuit &amp;gt; name 2 pike&lt;br /&gt;
Minuit &amp;gt; name 3 sigma&lt;br /&gt;
Minuit &amp;gt; name 4 assim&lt;br /&gt;
# задаем метод минимизации (migrad, обычно, самый подходящий)&lt;br /&gt;
Minuit &amp;gt; migrad&lt;br /&gt;
# просим попробовать улучшить подгонку (дольше, но чуть точнее)&lt;br /&gt;
Minuit &amp;gt; improve&lt;br /&gt;
…&lt;br /&gt;
Minuit &amp;gt; exit&lt;br /&gt;
…&lt;br /&gt;
#смотрим результаты подгонки&lt;br /&gt;
PAW &amp;gt; ve/print par&lt;br /&gt;
PAR(1) = 35.4279&lt;br /&gt;
PAR(2) = 1.4809&lt;br /&gt;
PAR(3) = 4.30618&lt;br /&gt;
PAR(4) = -0.999999&lt;br /&gt;
#смотрим ошибки&lt;br /&gt;
PAW &amp;gt; ve/print err&lt;br /&gt;
ERR(1) = 3.61113&lt;br /&gt;
ERR(2) = 0.00484378&lt;br /&gt;
ERR(3) = 0.339507&lt;br /&gt;
ERR(4) = 0.174973&lt;br /&gt;
#нарисовать гистограмму 20 еще раз&lt;br /&gt;
# e - рисовать статистические ошибки в бинах&lt;br /&gt;
PAW &amp;gt; hi/plot 20 e&amp;lt;/pre&amp;gt;&lt;br /&gt;
При подгонке этого распределения основной интерес представляло&lt;br /&gt;
его ширина: =(4.3±0.3)%. Важно не только значение подгонки, но и&lt;br /&gt;
оценка ошибки. Например, результат для sigma отличается от того, что&lt;br /&gt;
должно быть в идеале больше чем на десять ошибок – можно сделать&lt;br /&gt;
вывод, что есть какая-то, даже не проблема, а «плюха».&lt;br /&gt;
&lt;br /&gt;
=== Функции ===&lt;br /&gt;
Функции также являются базовым объектом для PAW. Для отрисовки&lt;br /&gt;
одномерных функций используется команда FUNCTION/PLOT.&lt;br /&gt;
&amp;lt;pre&amp;gt;#включить логарифмический масштаб для оси Y&lt;br /&gt;
PAW &amp;gt; opt logy&lt;br /&gt;
#нарисовать одномерную функцию&lt;br /&gt;
PAW &amp;gt; fun/plot (sin(x)/x)**2+0.1 -10 10&lt;br /&gt;
#вернуться к линейному масштабу для оси Y&lt;br /&gt;
PAW &amp;gt; opt liny&amp;lt;/pre&amp;gt;&lt;br /&gt;
Обратите внимание на инструкцию opt (help GRAPHICS/OPTION). Эта&lt;br /&gt;
инструкция по своим функциям схожа с командой set, но в отличии от&lt;br /&gt;
нее отвечает за организацию представления данных, а не за графическое оформление.&lt;br /&gt;
&lt;br /&gt;
Работу с двумерными функциями продемонстрируем на классическом фрактальном изображении имени Мандельброта. Создадим код на&lt;br /&gt;
FORTRAN:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;fortran&amp;quot;&amp;gt;C Из официальной документации к PAW&lt;br /&gt;
C Файл mandel.for&lt;br /&gt;
real function MANDEL(XP)&lt;br /&gt;
dimension XP(2)&lt;br /&gt;
data NMAX/30/&lt;br /&gt;
x=XP(1)&lt;br /&gt;
y=XP(2)&lt;br /&gt;
xx=0.&lt;br /&gt;
yy=0.&lt;br /&gt;
do n=1,NMAX&lt;br /&gt;
tt=xx*xx-yy*yy+x&lt;br /&gt;
yy=2.*xx*yy+y&lt;br /&gt;
xx=tt&lt;br /&gt;
if (4..lt.xx*xx+yy*yy) goto 1&lt;br /&gt;
enddo&lt;br /&gt;
1 MANDEL=FLOAT(n)/FLOAT(NMAX)&lt;br /&gt;
end&amp;lt;/source&amp;gt;&lt;br /&gt;
В случае двумерных функций проблема отображения стоит гораздо&lt;br /&gt;
острее, чем у одномерных. Двумерные функции для отображения преобразуются в гистограммы (help fun2)&lt;br /&gt;
&amp;lt;pre&amp;gt;# По результатам вычисления mandel.for создаем гистограмму 10&lt;br /&gt;
PAW &amp;gt; fun2 10 mandel.for 100 -2.4 .8 100 -1.2 1.2 ‘ ‘&lt;br /&gt;
# Выводим гистограмму 10 как контур&lt;br /&gt;
PAW &amp;gt; hi/pl 10 cont3&lt;br /&gt;
# Выводим гистограмму 10 как поверхность&lt;br /&gt;
PAW &amp;gt; hi/pl 10 surf4&amp;lt;/source&amp;gt;&lt;br /&gt;
Если разрешение не удовлетворяет, то можно создать гистограмму&lt;br /&gt;
не 100×100, как в примере, а 1000×1000.&lt;br /&gt;
&lt;br /&gt;
=== Заключение ===&lt;br /&gt;
Объять необъятное совершенно не реально, особенно&lt;br /&gt;
при лимите на объем текста. Официальная&lt;br /&gt;
документация содержит около 500 страниц, причем, один алфавитный указатель занимает 17 страниц. PAW -&lt;br /&gt;
матерый программный продукт,&lt;br /&gt;
которому уже двадцать лет. Этому&lt;br /&gt;
пакету есть достойный приемник,&lt;br /&gt;
правда, не лишенный недостатков,&lt;br /&gt;
но об этом в следующий раз.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;/div&gt;</description>
			<pubDate>Thu, 25 Dec 2008 13:26:11 GMT</pubDate>			<dc:creator>Yaleks</dc:creator>			<comments>http://wiki2.linuxformat.ru/index.php/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:LXF82:PAW</comments>		</item>
	</channel>
</rss>