2014 dxdy logo

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

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




На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.
 
 Re: численное решение интеграла от экспоненты в Mathematica
Сообщение07.01.2014, 20:36 
Leierkastenmann в сообщении #810512 писал(а):
Последняя точка не отображается, потому что для нее не существует логарифм, чтобы ее отобразить надо просто значение поменять на какое-нибудь очень маленькое значение, но не нулевое.

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

 
 
 
 Re: численное решение интеграла от экспоненты в Mathematica
Сообщение07.01.2014, 21:30 
Аватара пользователя
Имелось в виду нулевое значение p(t). Изменить способов может быть много, непосредственно в итоговом результате сделать замену при помощи ReplacePart, изменить функцию на что-нибудь типа максимума из какого-то очень маленького числа и того, что сейчас возвращает функция, тогда никогда чистый ноль она выдавать не будет, можно тупо получить список, который надо строить, руками в нем заменить ноль на какое-то число и построить уже график от этого списка, можно еще вариантов навыдумывать. Тут уж выбирайте, что Вам больше нравится.

 
 
 
 Re: численное решение интеграла от экспоненты в Mathematica
Сообщение07.01.2014, 22:07 
я правильно понял, что просто изменить начальное значение на оси y невозможно, только путем нормировки графика?

 
 
 
 Re: численное решение интеграла от экспоненты в Mathematica
Сообщение07.01.2014, 22:11 
Аватара пользователя
Ну как вы его «просто измените», подумайте сами. Мановением руки? Leierkastenmann предложил кучу способов, изыщите среди них подходящий.

 
 
 
 Re: численное решение интеграла от экспоненты в Mathematica
Сообщение07.01.2014, 22:27 
в Mathcad это делается щелчком мыши по графику, я думал, что здесь также просто.

 
 
 
 Re: численное решение интеграла от экспоненты в Mathematica
Сообщение07.01.2014, 22:27 
Аватара пользователя
Забудьте богомерзкий Маткад. Нет, не забывайте пока. Расскажите, пожалуйста, и, если можно, в подробностях (и лучше бы со скриншотами), что именно и как в Маткаде делается щелчком мыши по графику.

 
 
 
 Re: численное решение интеграла от экспоненты в Mathematica
Сообщение08.01.2014, 08:49 
Аватара пользователя
Ну, в Математике тоже в общем-то можно щелчком мыши по графику попасть в редактирование этого графика и пририсовать там все что угодно или изменить его форму, только насколько я знаю, выйти за пределы тех значений по оси абсцисс, что изначально получились при построении, не получится. Так что в Вашем случае ручное редактирование ни к чему не приведет. Впрочем, я могу и ошибаться, поскольку опыт редактирования графиков у меня маленький.

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

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

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

 
 
 
 Re: численное решение интеграла от экспоненты в Mathematica
Сообщение08.01.2014, 17:50 
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 
Аватара пользователя
Как увидеть микросекундные значения на логарифмическом графике я варианты написал. Вопрос про нормировку не очень понял, Вы чего хотите, чтобы у вас все p(t) лежали в интервале от 0 до 1? Если так, то в общем-то придумайте формулу, как Вы будете нормировать, а реализовать эту формулу в Математике проблем не составит.

 
 
 
 Re: численное решение интеграла от экспоненты в Mathematica
Сообщение09.01.2014, 21:20 
Leierkastenmann в сообщении #812143 писал(а):
Как увидеть микросекундные значения на логарифмическом графике я варианты написал

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

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

 
 
 
 Re: численное решение интеграла от экспоненты в Mathematica
Сообщение10.01.2014, 21:11 
Аватара пользователя
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 
Leierkastenmann в сообщении #812625 писал(а):
Нужен линейный - пытайтесь сделать линейный по обеим осям. Просто разброс по обеим осям такой, что нормально такой график не изобразить, чем спасет домножение на такой коэффициент, я не очень понимаю, ну уменьшится все в миллион раз, проблема несоизмеримости значений так и останется

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

 
 
 
 Re: численное решение интеграла от экспоненты в Mathematica
Сообщение11.01.2014, 12:43 
Аватара пользователя
Это график именно того, с чем мы мучаемся? Слабо верится, значения не похожи. В то, что это какой-то аналог, поверить могу. В том же конкретном случае, что есть у нас тут, не будет такого плавного спуска, будет тоненький пик в нанообласти, который дальше резко падает в ноль. Замените LogListPlot на ListPlot, можете даже домножить на коэффициент и полюбуйтесь, что получится.

 
 
 [ Сообщений: 93 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7  След.


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group