2014 dxdy logo

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

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




Начать новую тему Ответить на тему На страницу Пред.  1, 2, 3
 
 
Сообщение11.04.2006, 16:49 
Экс-модератор
Аватара пользователя


23/12/05
12063
Николай писал(а):
:roll: photon, Вы мне здорово помогли. Такой уровень мастерства програмирования мне не доступен (тем более, на Matlab, в котором я использую практически только pdeToolBox).

Вы преувеличиваете мои способности - откройте коды матлабовских m-файлов - они очень не похожи на мои :wink: .
А для диф.ур-ов лучше, как мне кажется, ипользовать не pdeToolBox, а FemLAB

Николай писал(а):
Воспроизвёл у себя Ваш пример - действительно всё посчиталось, хоть и не так быстро (оперативы мало :D ). Кстати, чтобы сэкономить память, я вообще исключил массив S:

Я, если Вы смотрели часть моего поста после первого кода, также обошелся двумя массивами.
Николай писал(а):
...на элемент одномерного массива выделяется 4 байта.

значит это тип float? А MatLAB работает по умолчанию с double.
Николай писал(а):
Удобно и то, что динамическую память можно освобождать, "отключая" массивы, если они уже не нужны (DEALLOCATE(...)).

В MatLAB это тоже можно делать - команда clear и дальше через пробел переменные (любого типа, включая массивы, массивы ячеек, структуры и т.д.), которые убрать из памяти:
Код:
clear var1 var2 var3

Николай писал(а):
Два слова про ГПСЧ, которым снабжён Фортран - для генерации чисел он использует (каким образом - тайна) текущие дату и время, что внушает некоторое доверие к результату. :)

Я не смог посмотреть, что на этот счет в MatLAB - описание в help скудное, а функция rand() - встроенная, т.е. нельзя посмотреть ее код. Но почему-то я ей доверяю :D. Кстати, rand() выдает равномерное распределение, но в MatLAB есть уже готовые другие функции: скажем, с нормальным распределением randn(), а sprandn() - дает разреженную матрицу с нормальным распределением и заданной плотностью и др.

Дописал:
Николай писал(а):
В фортране максимум могут быть 7-мерные массивы

Я посмотрел, как накладывается ограничение на размерность массива в MatLAB. Конкретного числа, вроде 7, не существует. Ограничение может возникнуть по двум причинам: 1)нехватка памяти; 2) Не может быть сгенерирован массив, произведение длин по всем измерениям которого превосходит максимальное целое MatLAB-овское число (равное, кстати, $2147483647=2^{31}-1$). Мне удалось сгенерировать 26-мерный массив 2x2x2x2...x2 и даже 3x2x2x2...x2(правда, на другой машине - с 1Гб оперативки), так как объем этих массивов получился 512Мб и 768Мб соответственно.

 Профиль  
                  
 
 
Сообщение13.04.2006, 21:48 


04/04/06
5
Kazan
всем спасибо за ответы и советы. Вижу, тема все таки довольно интересна довольно многим.

конечно, при вычислении по бесконечным пределам я задался пороговыми значениями, которые меня удовлетворяют.

не знаю, правильно ли я сделал или нет, но я все таки пытался в том же самом Матлабе набросать код для вычисления этого интеграла(8 мерного) методом суммирования объемов гиперфигур (по аналогии с суммами Дарбу) . так у меня Матлаб ругнулся на нехватку памяти при задании пределов с 1 до 10 с шагом один по каждой из оси (получается 100000000 точек, в которых надо вычислить интегранд).

И как сюда можно выложить сам интегранд? вид сложный он сам по себе имеет.
Заранее спасибо.

 Профиль  
                  
 
 
Сообщение13.04.2006, 22:13 


04/04/06
5
Kazan
попробую вставить интегранд

 Профиль  
                  
 
 
Сообщение13.04.2006, 22:16 


04/04/06
5
Kazan
Немного упростил задачку. Попытаюсь сначала вычислить четырехмерный интеграл. Еще одно уточнение выяснилось по ходу анализа интегранда - переменные пределы интегрирования.
Попытался вставить интегранд. Причем дельта и все игреки больше нуля.
\[
\begin{gathered}
  \int\limits_0^\infty  {} \int\limits_0^\infty  {} \int\limits_0^{\Delta  + y_4 } {} \int\limits_0^{\Delta  + y_3  + y_4 } {} \frac{1}
{{\left( {\Delta  - y_2  + y_3  + y_4 } \right)y_2 y_3 y_4 }} \times  \hfill \\
   \times \exp \left\{ { - \frac{1}
{{2D}}\left( \begin{gathered}
  \frac{{\left( {\ln \left( {\Delta  - y_2  + y_3  + y_4 } \right) - m_1 } \right)^2 D_{11} }}
{{\sigma _1 \sigma _1 }} +  \hfill \\
   + 2\sum\limits_{j = 2}^4 {\frac{{\left( {\ln \left( {\Delta  - y_2  + y_3  + y_4 } \right) - m_1 } \right)\left( {\ln y_j  - m_j } \right)D_{1j} }}
{{\sigma _1 \sigma _j }}}  +  \hfill \\
   + \sum\limits_{i = 2}^4 {\sum\limits_{j = 2}^4 {\frac{{\left( {\ln y_i  - m_i } \right)\left( {\ln y_j  - m_j } \right)D_{ij} }}
{{\sigma _i \sigma _j }}} }  \hfill \\ 
\end{gathered}  \right)} \right\}d\Delta dy_4 dy_3 dy_2  \hfill \\ 
\end{gathered} 
\]

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

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



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

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


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

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