2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.
 
 Re: численное решение интеграла от экспоненты в Mathematica
Сообщение07.01.2014, 20:36 


14/10/12
210
Leierkastenmann в сообщении #810512 писал(а):
Последняя точка не отображается, потому что для нее не существует логарифм, чтобы ее отобразить надо просто значение поменять на какое-нибудь очень маленькое значение, но не нулевое.

Последнее значение t должно быть порядка $10^{-6}$. Я не могу это изменить. Или имелось в виду мин. значение по вертикали?
Как сделать нулевое значение по оси y?

 Профиль  
                  
 
 Re: численное решение интеграла от экспоненты в Mathematica
Сообщение07.01.2014, 21:30 
Аватара пользователя


15/01/06
200
Имелось в виду нулевое значение p(t). Изменить способов может быть много, непосредственно в итоговом результате сделать замену при помощи ReplacePart, изменить функцию на что-нибудь типа максимума из какого-то очень маленького числа и того, что сейчас возвращает функция, тогда никогда чистый ноль она выдавать не будет, можно тупо получить список, который надо строить, руками в нем заменить ноль на какое-то число и построить уже график от этого списка, можно еще вариантов навыдумывать. Тут уж выбирайте, что Вам больше нравится.

 Профиль  
                  
 
 Re: численное решение интеграла от экспоненты в Mathematica
Сообщение07.01.2014, 22:07 


14/10/12
210
я правильно понял, что просто изменить начальное значение на оси y невозможно, только путем нормировки графика?

 Профиль  
                  
 
 Re: численное решение интеграла от экспоненты в Mathematica
Сообщение07.01.2014, 22:11 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
Ну как вы его «просто измените», подумайте сами. Мановением руки? Leierkastenmann предложил кучу способов, изыщите среди них подходящий.

 Профиль  
                  
 
 Re: численное решение интеграла от экспоненты в Mathematica
Сообщение07.01.2014, 22:27 


14/10/12
210
в Mathcad это делается щелчком мыши по графику, я думал, что здесь также просто.

 Профиль  
                  
 
 Re: численное решение интеграла от экспоненты в Mathematica
Сообщение07.01.2014, 22:27 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
Забудьте богомерзкий Маткад. Нет, не забывайте пока. Расскажите, пожалуйста, и, если можно, в подробностях (и лучше бы со скриншотами), что именно и как в Маткаде делается щелчком мыши по графику.

 Профиль  
                  
 
 Re: численное решение интеграла от экспоненты в Mathematica
Сообщение08.01.2014, 08:49 
Аватара пользователя


15/01/06
200
Ну, в Математике тоже в общем-то можно щелчком мыши по графику попасть в редактирование этого графика и пририсовать там все что угодно или изменить его форму, только насколько я знаю, выйти за пределы тех значений по оси абсцисс, что изначально получились при построении, не получится. Так что в Вашем случае ручное редактирование ни к чему не приведет. Впрочем, я могу и ошибаться, поскольку опыт редактирования графиков у меня маленький.

 Профиль  
                  
 
 Re: численное решение интеграла от экспоненты в Mathematica
Сообщение08.01.2014, 12:21 


14/10/12
210
Aritaborian в сообщении #811030 писал(а):
[s]Расскажите, пожалуйста, и, если можно, в подробностях (и лучше бы со скриншотами), что именно и как в Маткаде делается щелчком мыши по графику.

запросто: http://www.youtube.com/watch?feature=pl ... mgGJvZ9Xu0. В точке 1.47 показаны границы переменных, для мин. значений там можно вписать 0, что в данном случае и нужно. Разумеется, это не нормирует сам график, просто от 0 привычнее.

 Профиль  
                  
 
 Re: численное решение интеграла от экспоненты в Mathematica
Сообщение08.01.2014, 12:48 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
Спасибо.

 Профиль  
                  
 
 Re: численное решение интеграла от экспоненты в Mathematica
Сообщение08.01.2014, 17:50 


14/10/12
210
Leierkastenmann в сообщении #810970 писал(а):
непосредственно в итоговом результате сделать замену при помощи ReplacePart, изменить функцию на что-нибудь типа максимума из какого-то очень маленького числа и того, что сейчас возвращает функция, тогда никогда чистый ноль она выдавать не будет, можно тупо получить список, который надо строить, руками в нем заменить ноль на какое-то число и построить уже график от этого списка

Как это сделать для линейного масштаба по обеим осям (при логарифмическом масштабе по y не отображаются микросекундные значения времени, а они нужны) и с нормировкой по y от 0 до 1?

(Оффтоп)

Код:
c = 3*10^8;
H = 7.2*10^5;
\[Tau] = 47*10^-6;
Fd = 7200;
Tp = 50*10^-6;
f = 3.5*10^8;
v = 7500;
Q = 18000;
L = 100;
s2 = 0.003;
s1 = 2;
\[CapitalTheta]0 = 0.018;
m = 256;
\[Lambda] = 0.022;
n = 3;
lm = 25;
d = 1.2;
\[Lambda] = 0.022;
n = 3;
t = List[-10^-8, -10^-9, 0, 10^-11, 10^-10, 10^-9, 10^-8, 20*10^-7,
   2*10^-6];
pp[tt_] :=
  Sum[NIntegrate[
    Exp[(\[Pi]*Fd^2*Tp^2*(m - Abs[k])^2*x^2)/
       H^2 - (n^2*\[Pi]^2*d^2*y^2)/(\[CapitalTheta]0^2*\[Lambda]^2*
         H^2*141^2) - (100*lm^2*x^2*s1^2)/(H^2*L^2*\[Pi]^2*
         s2^2) - (100*lm^2*y^2*s1^2)/(H^2*L^2*\[Pi]^2*
         s2^2) - (5.55*(y^2 +
           x^2))/(H^2*\[CapitalTheta]0^2) - \[Pi]*(f^2*(tt - k*Tp -
             x^2/(c*H) - y^2/(c*H))^2 +
         2*Q*(v*k*Tp)/(H*
             d) + \[Tau]^2*((v*k*Tp)/(H*d))^2)], {x, -Infinity,
     Infinity}, {y, -Infinity, Infinity}, MaxRecursion -> 40,
    AccuracyGoal -> 60, Method -> "AdaptiveMonteCarlo"], {k, -255,
    255}];
ListLogPlot[Transpose[{t, pp[#] & /@ t}], Joined -> True,
PlotRange -> {All, {Min[t], Max[t]}}]

 Профиль  
                  
 
 Re: численное решение интеграла от экспоненты в Mathematica
Сообщение09.01.2014, 20:32 
Аватара пользователя


15/01/06
200
Как увидеть микросекундные значения на логарифмическом графике я варианты написал. Вопрос про нормировку не очень понял, Вы чего хотите, чтобы у вас все p(t) лежали в интервале от 0 до 1? Если так, то в общем-то придумайте формулу, как Вы будете нормировать, а реализовать эту формулу в Математике проблем не составит.

 Профиль  
                  
 
 Re: численное решение интеграла от экспоненты в Mathematica
Сообщение09.01.2014, 21:20 


14/10/12
210
Leierkastenmann в сообщении #812143 писал(а):
Как увидеть микросекундные значения на логарифмическом графике я варианты написал

по обеим осям нужен линейный масштаб. Самое главное диапазон t- от $-10^{-8}$ до $10^{-6}$
Leierkastenmann в сообщении #812143 писал(а):
Вы чего хотите, чтобы у вас все p(t) лежали в интервале от 0 до 1?

именно так. Т.к. технологию использования ReplacePart я из мануала не понял (какую часть выражения указать для замены ?), то просто домножу результат на постоянный коэффициент $10^{-6}$

 Профиль  
                  
 
 Re: численное решение интеграла от экспоненты в Mathematica
Сообщение10.01.2014, 21:11 
Аватара пользователя


15/01/06
200
ReplacePart никакого отношения к нормировке не имеет, я его привел для примера, как избавиться от чистого нуля, который не дает изобразить точку на логарифмическом графике.
Вот простенький пример, когда есть список с нулевыми значениями и мы просто находим где они и заменяем их на 0.1
Код:
test = {{-1, 200}, {4, 0}, {8, 22}, {10, 0}, {13, 55}}
ReplacePart[test, # -> 0.1 & /@ Position[test, 0]]


Нужен линейный - пытайтесь сделать линейный по обеим осям. Просто разброс по обеим осям такой, что нормально такой график не изобразить, чем спасет домножение на такой коэффициент, я не очень понимаю, ну уменьшится все в миллион раз, проблема несоизмеримости значений так и останется. Отвлекитесь от Математики, возьмите листочек бумаги и по-честному, с сохранением масштаба, попытайтесь изобразить все необходимые точки. Если у Вас это получится, то Вы вправе ожидать, что это же получится сделать и в Математике.

 Профиль  
                  
 
 Re: численное решение интеграла от экспоненты в Mathematica
Сообщение11.01.2014, 10:10 


14/10/12
210
Leierkastenmann в сообщении #812625 писал(а):
Нужен линейный - пытайтесь сделать линейный по обеим осям. Просто разброс по обеим осям такой, что нормально такой график не изобразить, чем спасет домножение на такой коэффициент, я не очень понимаю, ну уменьшится все в миллион раз, проблема несоизмеримости значений так и останется

Не совсем понял, почему не отобразить такой график. Его примерный вид известен из теории. Амплитудный коэффициент я учту, главное- отобразить все значения времени. Если невозможно их отобразить на одном графике, пусть будет 2- для фронта и среза отдельно. Вот график с такими же временами в Mathcad: http://zalil.ru/34892142/3e62a2f0.52d19258/mc.JPG

 Профиль  
                  
 
 Re: численное решение интеграла от экспоненты в Mathematica
Сообщение11.01.2014, 12:43 
Аватара пользователя


15/01/06
200
Это график именно того, с чем мы мучаемся? Слабо верится, значения не похожи. В то, что это какой-то аналог, поверить могу. В том же конкретном случае, что есть у нас тут, не будет такого плавного спуска, будет тоненький пик в нанообласти, который дальше резко падает в ноль. Замените LogListPlot на ListPlot, можете даже домножить на коэффициент и полюбуйтесь, что получится.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 93 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group