Автор работы: Пользователь скрыл имя, 12 Марта 2013 в 14:28, реферат
Современное человечество переживает период становления информационного общества, характеризующийся тем, что одними из основных видов деятельности становятся производство и использование информации, а компьютеризация является частью этого процесса. Информация становится главным ресурсом научно-технического и социально-экономического развития мирового сообщества и существенно влияет на ускоренное развитие науки, техники и различных отраслей хозяйства, играет значительную роль в процессах воспитания и образования, культурного общения между людьми, а также в других социальных областях.
Введение ………………………………………………………………………………..3
Раздел 1. Физико-математический пакет «Граф»
1.1. Базовые функции………………………………………………………………..4
1.2. Дополнительные функции………………………………………………….......6
1.3. Работа с комплексными числами…………………………………………..…..7
1.4. Графики функций……………………………………………………………….8
1.5. Параметры……………………………………………………………………….9
1.6. Функции комплексного переменного………………………………………..14
1.7. Несколько графиков, отличающихся параметром, на одном поле………...15
1.8. Анимация………………………………………………………………………16
1.9. Преобразование 3D координат……………………………………………….17
1.10. Несколько разных функций на одном поле………………………………...19
1.11. Построение кривых и фигур по точкам…………………………………….19
1.12. Построение прямой y=a+bx методом наименьших квадратов……………21
1.13. Функции двух переменных………………………………………………….22
Раздел 2. Примеры построения графиков при помощи "Граф"
2.1. RLC-фильтр……………………………………………………………………24
2.2. Эллиптическая орбита с эксцентриситетом 0.8……………………………..24
2.3. Фигуры Лиссажу………………………………………………………………25
2.4. АМ и FM гармонические сигналы …………………………………………...25
2.5. Резонанс тока в последовательном колебательном контуре………………..26
2.6. Интерферометр Фабри-Перо……………………………………………….…28
2.7. Распределение Планка………………………………………………………...29
2.8. Пример (Бруоновское движение частицы)…………………………………..30
2.9. Пример (Вращение сферы)…………………………………………………....31
Заключение……………………………………………………………………………32
Список литературы…………………………………………………………………..33
Алгоритм таков: Если в строчке нет знака равенства =, то смотрится есть ли там символ x. Если x есть, то нужно строить график функции, если нет, то вычислить число и показать его. Также смотрятся все остальные строчки, в которых содержится знак равенства. Ecли это например g(t)=.., то g - функция, t - переменная. Если f=.., то в строчке записана функция. Если это например с=5, то с - константа, а 5 - её значение. Также проверяется наличие x во всех остальных строчках. Если есть, то нужно строить график функции. В общем легче смотреть на примерах. В любом случае зарезервированы буквы f под функцию, a x под её аргумент (переменную). Как функция, так и её аргумент могут быть вещественными или комплексными. Если значение функции комплексно, то по вертикальной оси откладывается мнимое значение функции, а по горизонтальной - вещественное. При этом x линейно меняется от xmin до xmax. Как xmin, так и xmax могут тоже быть комплексными. Если строится комплексная функция, то левый нижний угол задаётся как комплексное fmin, а верхний правый угол - комплексное fmax. Если fmin или fmax отсутствует, то они вычисляются автоматически. Также для задания масштаба по вертикали можно использовать ymin и ymax. Есть 2 режима масштабирования комплексной функции ratio=0 или 1. Если ratio=0, то функция растягивается по горизонтали и вертикали до fmin, fmax. Если ratio=1, то масштабы по осям одинаковые и fmin и fmax выбираются автоматически (ввод не действует), чтобы отобразить всю функцию. Если у вас две функции одного переменного (например f и g) и вы хотите нарисовать их в осях XY, то выводите как cplx(f,g), или как f+i*g, или как (f,g). Название функций и из аргумента могут быть любыми.
Все параметры и их значения по умолчанию приведены в таблице 4.
Таблица 4. Параметры и их значения по умолчанию
Параметр |
Значение по умолчанию |
Пояснения |
xmin |
xmin=0 |
Минимальное значение аргумента. В случае комплексной функции также может быть комплексным. |
xmax |
xmax=2*pi |
Максимальное значение аргумента. В случае комплексной функции также может быть комплексным. |
fmin |
вычисляется |
Минимальное значение функции. При отсутствии вычисляется. В случае, если функция комплексная, то fmin также должна быть комплексной. В этом случае fmin задаёт левый нижний угол графика. |
fmax |
вычисляется |
Максимальное значение функции. При отсутствии вычисляется. В случае, если функция комплексная, то fmax также должна быть комплексной. В этом случае fmax задаёт правый верхний угол графика. |
ymin |
вычисляется |
Минимальное значение по координате Y. Используется при построении кривой по точкам, а также может заменить fmin для задания масштаба по вертикали. |
ymax |
вычисляется |
Максимальное значение по координате Y. Используется при построении кривой по точкам, а также может заменить fmax для задания масштаба по вертикали. |
points |
points=100 |
Количество точек по которым строится каждый график функции. Чем больше points, тем более гладкая кривая. но тем больше времени требуется для её расчёта. Если points велико, то отведённого на сервере лимита времени может не хватить для выполнения скрипта и возникнет ошибка. В этом случае уменьшите количество точек. |
fbox |
fbox=1 |
Параметр fbox может принимать значение 0 или 1. Если fbox=0, то рамка графика не строится. Если fbox=1, то рамка строится. По умолчанию рамка строится. |
spline |
spline=0 |
Этот параметр может принимать два значения 0 и 1. Если spline=0, то график строится отрезками прямых. Если spline=1, то график строится параболами. В некоторых случаях это может быть использовано для получения более гладкой кривой при небольшом количестве точек. С другой стороны это увеличивает время расчёта. |
ratio |
ratio=0 |
Если строится комплексная
функция, то она автоматически
Например, если мы хотим построить график функции exp(i*x), то ожидаем увидеть окружность, а не эллипс. В этом случае используйте ratio=1.
Масштаб по обоим осям будет одинаковым, а график растянется автоматически по одному направлению (исходя из пропорций графика и окна отображения). |
nmax |
nmax=1 |
При построении на одном поле нескольких функций отличающихся одним параметром nmax задаёт максимальное количество графиков на поле. При этом переменная n будет меняться от 0 до nmax-1. |
n |
- |
Если задано nmax, то переменная n меняется от 0 до nmax-1. |
roots |
roots=1 |
Параметр roots может принимать два значения 0 и 1. Если roots=0, то корни уравнения f(x)=0 не вычисляются. Если roots=1, то корни вычисляются. По умолчанию корни вычисляются. Если имеется несколько функций, то корни вычисляются у главной (без цифровых индексов). |
width |
width=300 |
Ширина окна в пикселях. |
height |
height=200 |
Высота окна в пикселях. |
animated(time,transparent) |
animated(0,0) |
Задаёт построение GIF анимации. Каждый кадр отличается параметром n. Поэтому также необходимо указать nmax. time задаёт время между кадрами анимации в миллисекундах. time=0 задаёт максимальную скорость смены кадров анимации. transparent=1 задаёт прозрачный фон. В этом случае кривые накладываются друг на друга. чтобы получить анимацию параметр animated должен быть установлен в 0. |
Относящееся только к построению по точкам | ||
begin |
- |
Начало массива точек. |
end |
- |
Конец массива точек |
polygon |
- |
Построение по точкам фигуры с заливкой. Идёт сразу после begin. |
polyline |
включён |
Построение кривой по точкам фигуры без заливки. Идёт сразу после begin. Используется по умолчанию. |
stat |
- |
Построение наилучшей прямой методом наименьших квадратов. Идёт сразу после begin. |
points |
включён |
Если идёт сразу после begin, то помимо кривой (прямой, залитой фигуры) отображаются точки, по которым они были построены. |
inv |
- |
При наличие inv в любом месте кода не показываются точки с z<0 |
Пример 1:
xmin=0
%% Минимальное значение аргумента (по
умолчанию xmin=0)
xmax=5 %% Максимальное значение аргумента
(по умолчанию xmax=2*pi)
fmin=-2 %% Минимальное значение функции
(если пусто, то вычисляется)
fmax=10 %% Максимальное значение функции
(если пусто, то вычисляется)
points=50 %% Количество точек на кривой (по
умолчанию - 100)
width=400 %% Ширина рисунка в пикселях (по
умолчанию - 300)
height=200 %% Высота рисунка в пикселях (по
умолчанию - 200)
fbox=1 %% Наличие внешней рамки (по умолчанию
- 1, т.е. присутствует)
a=x^4 %% Вспомогательная функция
b=10*x^3 %% Вспомогательная функция
c=35*x^2 %% Вспомогательная функция
d=50*x %% Вспомогательная функция
e=24 %% Вспомогательная функция
a-b+c-d+e %% Уравнение функции
f=a-b+c-d+e; xmin=0, xmax=5
fmin=-2, fmax=10 пример на (рис.2)
Рис. 2 f=a-b+c-d+e с параметрами xmin=0, xmax=5 fmin=-2, fmax=10
Корни: 1; 2; 3; 4
Пример 2:
f=sin(sin(sin(sin(sin(sin(sin(
xmin=0, xmax=6.28; fmin=-0.215, fmax=0.215
Корни: 0; 3.14159265358979; 6.28318530717959
Пример 3:
fbox=0; width=700; points=500; roots=0
sin(6*sin(5*x))
f=sin(6*sin(5*x)); xmin=0, xmax=6.28, fmin=-0.997, fmax=0.9967 (рис.3)
Рис. 3 функция f=sin(6*sin(5*x)); с параметрами xmin=0, xmax=6.28, fmin=-0.997, fmax=0.9967
Пример 4:
Затухающие гармонические колебания.
xmax=4*pi; ratio=1
exp(-0.5*x)*exp(i*x)
f=exp(-0.5*x)*exp(i*x); xmin=
fmin=(-0.234 + i*-0.207); fmax=(1 + i*0.615) (рис.4)
Рис. 4 функция f=exp(-0.5*x)*exp(i*x); с параметрами xmin=0, xmax=12.566
Можно также строить графики комплексных функций от комплексной переменной. Пусть, например, x меняется от i до 1. Найдём как выглядит функция x^n для нескольких произвольных n. Результат ниже.
f=x; xmin=i, xmax=1, fmin=(-1 + i*-1), fmax=(1 + i*1) (Рис.5.1)
f=x**2; xmin=i, xmax=1, fmin=(-1 + i*-1), fmax=(1 + i*1) (Рис.5.2)
f=x**3; xmin=i, xmax=1, fmin=(-1 + i*-1), fmax=(1 + i*1) (Рис.5.3)
f=x**4; xmin=i, xmax=1, fmin=(-1 + i*-1), fmax=(1 + i*1) (Рис.5.4)
f=x**9; xmin=I, xmax=1, fmin=(-1 + i*-1), fmax=(1 + i*1) (Рис.5.5)
f=0.5*(1-x**2); xmin=1, xmax=-1, fmin=-1, fmax=1 (Рис.5.6)
Рис.5.1 функция f=x Рис.5.2 функция f=x**2 Рис.5.3 функция f=x**3
Рис.5.4 функция f=x**4 Рис.5.5 функция f=x**9 Рис.5.6 функция f=0.5*(1-x**2)
xmin=i;
xmax=1; fmin=-1-i; fmax=1+i;
roots=0; points=2; width=200
x
Проверка для f=x^2: x=t+i*(1-t), где t=0..1
f=x^2=(2t-1)+i*2t(1-t)
Re(f)=2t-1; Im(f)=2t(1-t)
Нетрудно видеть, что Im(f)=0.5(1-Re(f)^2) Т.е.
если построить эту зависимость в координатах
XY, то это будет y=0.5(1-x^2), x=-1..1. Построим эту
функцию и видим что получили то же самое,
что и для комплексного представления.
Следующий пример демонстрирует построения графиков, отличающихся параметром n. Задано максимальное количество графиков на одном поле (nmax=5). При этом переменная n меняется от 0 до nmax-1.(рис.6)
roots=0; nmax=25
a=(n+1)/nmax
xmin=-pi
xmax=pi
f=a*(sin(2*x))*1/(x)+0.3*(cos(
f=a*(sin(2*x))*1/(x)+0.3*(cos(
xmin=-3.14, xmax=3.14, fmin=-0.574, fmax=2.3
Рис. 6 построения графиков, отличающихся параметром n.
Для анимации графиков используется
функция animated(time,
nmax=20; animated
fi=2*pi*n/nmax
a1=sin(x)
a2=sin(2*x+fi)
f=(a1,a2)
XY=cplx(a1,a2); xmin=0, xmax=6.283
fmin=(-1 + i*-1 ), fmax=( 1 + i*1 )
Рис. 7 функция XY=cplx(a1,a2) с анимацией
Точки и построенные по ним кривые графики также могут быть преобразованы в GIF анимацию с меняющимся параметром n.
В примере ниже строится наилучшая прямая по точкам, к координатам которых посредством функции rand добавлена случайная величина, имитирующая погрешность измерения.(рис.8)
nmax=50; animated(10,0)
begin stat points
0 0; 1 1; 2 2; 3 3; 4 4;
5 5; 6 6; 7 7; 8 8; 9 9
end
x=x+rand
y=y+rand
xmin=0.018121094411935, xmax=9.96057783549489
fmin=0.00498491452561467, fmax=9.94779613951097
Рис. 8 Наилучшая прямая по точкам
Имеются следующие 3D функции преобразования координат :
($rho, $theta, $z) = cartesian_to_cylindrical($x, $y, $z);
($rho, $theta, $phi) = cartesian_to_spherical($x, $y, $z);
($x, $y, $z) = cylindrical_to_cartesian($rho, $theta, $z);
($rho_s, $theta, $phi) = cylindrical_to_spherical($rho_
($x, $y, $z) = spherical_to_cartesian($rho, $theta, $phi);
($rho_c, $theta, $z) = spherical_to_cylindrical($rho_
В следующем примере
используется функция преобразования
сферических координат в декартовы. (рис.9)
animated(10,0)
roots=0; nmax=10; points=50; width=200
R=1
THETA=pi*n/nmax
PHI=x
(X,Y,Z)=spherical_to_cartesian
f=(X,Z)
Рис. 9 функция преобразования сферических координат в декартовы
f=cplx(X,Z); xmin=0, xmax=6.28318530717959
fmin=(-0.998 + i*-1 ), fmax=( 0.998 + i*1 )
Преобразование вращения в декартовых координатах
nmax=50;
animated(10,0)
width=200
xmin=-2; xmax=2
ymin=-2; ymax=2
begin
1 1 1
1 -1 1
-1 -1 1
-1 1 1
1 1 1
1 -1 1
1 -1 -1
1 1
-1
1 1 1
1 1
-1
1 -1 -1
-1 -1 -1
-1 1
-1
1 1
-1
-1 1
-1
-1 -1 -1
-1 -1 1
-1 1 1
-1 1
-1
end
(x,y,z)=rotate(x,y,z,pi/10,pi/
(x,y,z)=y_rotate(x,y,z,2*n*pi/
Функции вращения в декартовых координатах:
(x,y,z)=rotate(x,y,z,φ,θ)
(x,y,z)=x_rotate(x,y,z,φ)
(x,y,z)=y_rotate(x,y,z,φ)
(x,y,z)=z_rotate(x,y,z,φ)
xmin=-2, xmax=2, fmin=-2, fmax=2
Основная функция f должна быть без номера. Остальные функции должны начинаться с той же буквы f, а затем идут произвольные числовые номера. Если основная функция переопределена как например g(t)=..., то остальные должны быть g1=.., g2=.., g101=.. и т.д. При этом дополнительные функции тоже будут иметь в качестве аргумента переменную t. Корни вычисляются только у основной функции. Цвет каждой кривой задаётся как color0=.., color1=... Далее значение цвета покомпонентно (RGB) в шестнадцатиричном выражении. color0 задаёт цвет графика основной функции. Если значение цвета не пишется, то по умолчанию выбирается тёмно-синий цвет кривой.(рис.10)
points=50;
width=200; roots=0
f=exp(i*x); color0=0000FF
f1=0.3*exp(i*x); color1=FF0000
f2=sin(2*x)*exp(i*x); color2=00AA00
f=exp(i*x); xmin=0, xmax=6.28318530717959
fmin=(-1 + i*-0.998 ), fmax=( 1 + i*0.998 )
Рис. 10 Несколько разных функций на одном поле
Линии и закрашенные фигуры можно строить по точкам. Массив точек задаётся в столбик через пробел. Начинается с заголовка begin и заканчивается end. Можно строить несколько линий на одном поле. Линия – polyline или пусто. Закрашенная фигура – polygon. Цвет: black, white, red, green, blue и darkblue (по умолчанию). xmin ,xmax,ymin,ymax задают рамку. В случае polyline иногда полезно использовать spline=1. В этом случае кривая строится не отрезками линии, а параболами (см. нижний пример).
В этом примере строится 3 фигуры: две закрашенные (polygon) и одна незакрашенная (polyline).
begin
polygon blue |
begin
polygon red |
begin |
xmin=-47, xmax=47, fmin=-32, fmax=32
В данном примере кривая построена по 3-м точкам, но не отрезками прямой, а параболами. Это занимает несколько больше процессорного времени, но делает строку запроса очень компактной и в ряде случаев позволяет хорошо сглаживать кривую при недостаточности точек.(рис.11)
begin
spline=1
0 5
5 0
0 -5
xmin=0, xmax=5, fmin=-5, fmax=5
Рис. 11 Кривая построена по 3-м точкам, но не
отрезками прямой, а параболами.
Координаты точек могут
быть преобразованы по правилу:
x = f(x); y= g(y); z=h(z)
Например: x=x**2; y=log10(y); z=2*z;
Для построения прямой y=a+bx методом наименьших квадратов необходимо
ввести свои данные (точки). Для этого можно
использовать форму http://physics.nad.ru/
Если зависимость между x и y н
Или другой пример. При небольших напряжениях на p-n переходе его сопротивление R будет постоянным и пропорциональным exp(eV/kT). П