Матричные вычисления в Mathcad

       

Решение волнового уравнения (продолжение листинга 11 5)



Рисунок 11.15. Решение волнового уравнения (продолжение листинга 11.5)



Встроенная функция numol

Альтернативный вариант решения дифференциальных уравнений в частных производных заключается в применении еще одной встроенной функции numo|, которая реализует тот же самый алгоритм сеток, позволяя вручную задать большинство его параметров:

  • numol(xrange,xpts,trange,tpts,Npde,Nae,rhs,init,bc) — Возвращает матрицу решения дифференциального уравнения в частных производных, представляющую искомую сеточную функцию в каждой точке по пространственной (по строкам) и временной координате (по столбцам). Если решается не одно уравнение, а система уравнений, то результатом является составная матрица, образованная путем слияния (слева-направо) матриц со значениями каждой искомой сеточной функции:

  •  Npde — общее количество дифференциальных уравнений в частных производных в системе;
  •  Nae — общее количество дополнительных алгебраических уравнений, которые также могут входить в систему;
  •  rhs — векторная функция, определяющая систему дифференциальных и алгебраических уравнений (формат этого и двух следующих матричных параметров объяснен в листинге 11.9);
  •  init — векторная функция, определяющая начальные условия для каждой неизвестной функции;
  •  be — функциональная матрица граничных условий;
  •  xrange — пространственный интервал, т. е. вектор значений аргумента х для граничных условий. Этот вектор должен состоять из двух действительных чисел (представляющих левую и правую границу расчетного интервала);
  •  xpts — количество пространственных точек дискретизации (может не указываться явно, в таком случае будет подобрано программой автоматически);
  •  trange — расчетная временная область: вектор значений аргумента t, который должен состоять из двух действительных чисел (представляющих левую и правую границу расчетного интервала по времени);
  •  tpts — количество временных слоев, т. е. интервалов дискретизации по времени (также может не указываться пользователем явно);


Пример решения волнового уравнения при помощи функции numol приведен в листинге 11.6, особое внимание в котором мы призываем уделить формату представления векторов rhs, init и be, а также принципу извлечения отдельных сеточных решений из матрицы-результата. График решения, показанный на Рисунок 11.16, полезно сравнить с результатом применения вычислительного блока из предыдущего раздела (см. листинг 11.5 и Рисунок 11.15).



Содержание раздела