Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Решение задачи о туннелировании

Читайте также:
  1. I. Предмет и задачи кризисной психологии
  2. I. Цели и задачи музейной практики
  3. I. Цели и задачи учебной дисциплины
  4. I. Цель и задачи производственной
  5. II. СИТУАЦИОННЫЕ ЗАДАЧИ
  6. II. Цель, задачи и основные направления деятельности Центра
  7. III Задачи прокурорского надзора

Наконец, следуя нашему принципу обучения посредством решения одних и тех же задач разными способами, повторим в Mathematica пример расчета прохождения частицы через одномерный прямоугольный потенциальный барьер [2, с. 101–102], разобранный в Теме 1. Программа имеет следующий вид (вместо E используем V).

u0=40;m=1/2;h=1;

(V> 0) ™True

(V < u0) ™True

Обратим внимание на формат оператора, присваивающего свойства переменным – аналог оператора assume в Maple. Далее описываем величину ε и уравнения:

epsilon=(2*m/h^2)*V;

eq1=f1''[x]+(2 m/h^2) V f1[x]Š0

eq2=f2''[x]+(2 m/h^2) (EE-u0) f2[x]Š0

eq3=f3''[x]+(2 m/h^2) EE f3[x]Š0

Очень важное наблюдение: в Mathematica есть три вида «знаков равенства»: обычный знак равенства =, двоеточие со знаком равенства:= и двойной знак равенства ==. Первый является оператором присваивания для символов (переменных), второй – оператором присваивания для функций, а третий является просто знаком равенства в соотношениях и уравнениях (т.е. когда он непосредственно ничего не присваивает). В Maple имеется лишь два таких знака, причем:= – это оператор присваивания и для символов, и для уравнений а = – это знак равенства в уравнениях.

r=DSolve[{eq1,eq2,eq3,f1[1]Šf2[1],f1'[1]Šf2'[1],f2[0]Šf3[0],f2'[0]Šf3'[0],f1[0]+I*f1[Pi/2/Sqrt[epsilon]]==2,f3[0]-I*f3[Pi/2/Sqrt[epsilon]]==0},{f1[x],f2[x],f3[x]},x]

 

 

Нельзя не обратить внимания, насколько компактнее, по сравнению с Maple, система Mathematica выдала решение! А ведь это то же самое решение, в чем мы сейчас убедимся. Это является проявлением уже упоминавшейся несколько большей оптимальности расчетов в Mathematica.

Выполняем операторы присваивания:

f1[x]=f1[x]/.r;f2[x]=f2[x]/.r;f3[x]=f3[x]/.r;

(структура операторов получилась несколько странная с точки зрения логики, но в каждой системе иногда надо подстраиваться под общее строение и синтаксис языка).

Вычисляем коэффициент прохождения (напомним, имея в виду (1.10), можно получить амплитуду прошедшей сквозь барьер волны S, просто подставив в и далее вычисляя коэффициент прохождения как квадрат модуля S, умножая S на его комплексно сопряженное (оператор conjugate):

S=f3[x]/.x®0

T=N[S Conjugate[S]];

Проверим, получили ли мы тот же результат, что и раньше, для чего вычислим коэффициент прохождения для энергии V=38:

T/.V®38

С помощью оператора Plot получаем хорошо знакомый график для коэффициента прохождения в зависимости от энергии

Plot[T/.V®Ex,{Ex,0,4*u0}]

 

Рис. 3.4.Изменение коэффициента прохождения в зависимости от энергии для потенциального барьера, показанного на рисунке 1.4, полученное в Mathematica

 

Наконец, проверим еще раз соотношение (1.11), для чего вычислим коэффициент отражения (обозначим, как и выше, через ). Функция ft представляет собой сумму коэффициентов прохождения и отражения. Так же как это было сделано в MATLAB, для ознакомления с циклами в Mathematica, произведем проверку не путем построения графика, а составим простейший цикл, выводя значения ft для пяти различных значений аргумента E:

r=(f1[x]-1)/.x®0; r2=N[r Conjugate[r]];

ft[q_]:=N[(T+r2)/.V®q];

nn=5;For[k=1,k<=nn,Print[ft[k*4*u0/nn]];k++]

{1. +0. ä}

.


Дата добавления: 2015-07-20; просмотров: 104 | Нарушение авторских прав


Читайте в этой же книге: Умнов Анатолий Михайлович | Введение | Основные сведения о Maple и начальные навыки работы | Пример расчета физической системы в Maple | Введение | Начальные навыки работы с MATLAB | Решение задачи о туннелировании в MATLAB | Тема 4. Примеры вычислений и моделирования систем с помощью численно-аналитических пакетов программ | Вычисление статистической суммы модели Изинга и сравнение с известными точными выражениями | Введение |
<== предыдущая страница | следующая страница ==>
Начальное знакомство с системой Mathematica| Сопряжение систем компьютерной алгебры

mybiblioteka.su - 2015-2024 год. (0.006 сек.)