Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1_1 (1).docx
Скачиваний:
32
Добавлен:
18.02.2016
Размер:
50.61 Кб
Скачать

7.Конечно-разностные системы. Двумерная конечно-разностная схема

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

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

Построение рациональных конечно-разностных схем  применительно к особенностям вычислительных машин выделяется в этап вычислительной схематизации, правильное решение которого в значительной степени определяет эффективность моделирования.

8.Вопрос точности вычислений

При реализации многих численных методов точность вычислений зависит от числа шагов. Однако за какое именно число шагов будет достигнута приемлемая точность, заранее сказать трудно и желательно, чтобы программа сама определяла, когда следует остановиться.

Например, синус можно разложить в так называемый ряд Тейлора:

Чем большее количество членов ряда будет просуммировано, тем точнее будет вычислен синус. Пусть требуется вычислить до 5-го знака после запятой. То есть приемлемая погрешность . Для этого достаточно суммировать члены ряда до тех пор, пока очередной член ряда не окажется меньше 10-5.

  eps:=1e-5;

  readln(x);

  p:=x;

  s:=x;

  n:=2;

  while abs(p)>eps do {Условие выхода: очередной член ряда по модулю меньше eps}

begin

    p:=-p*x*x/(n*(n+1)); {Вычисление очередного члена ряда}

    s:=s+p;

    n:=n+2;

  end;

  writeln('sin(x) = ', s);

Если вычисления производятся в соответствии с рекуррентными соотношениями, то еще один способ поставить связанное с точностью условие прекращения вычислений заключается в следующем. Вычисления прекращаются, если изменение вычисляемой величины на очередном шаге меньше заданной величины:

Также условие можно наложить на относительное изменение:

1. Переменные; сложные структуры простых элементов

Переменныепредназначены для хранения каких-либо значений (число, строка символов, адрес и т.д.) во время выполнения приложения. Самые важные характеристики переменных: имя и тип. Имя переменной - это последовательность не более 255 символов, начинающаяся с буквы. Тип переменной определяет размер памяти, выделяемой под эту переменную, диапазон значений и допустимые над ней операции. intVar - переменная целого типа; strVar - строковая переменная. Модификаторы Dim или Private, Public определяют возможность доступа к переменной, объявленной в одном модуле из других модулей. Переменные могут объявляться как в секции деклараций (вне процедур), так и внутри процедур и функций. В первом случае они являются общими для всего программного модуля и называются модульными, во втором - локальными. Если имена модульной и локальной переменной совпадают, то приоритет в процедуре имеет локальная переменная. Рассмотрим пример применения модульных переменных.сли модульные переменные объявлены с модификатором Dim или Private, то область их видимости - только программный модуль, в котором они объявлены. Модульные переменные видны в других компонентах проекта, если объявлены с модификатором Public.

Локальные переменные объявляются внутри процедур и функций. В качестве модификатора они могут иметь только Dim или Static. Локальные переменные видны только в процедуре или

функции, в которых они объявлены. Время жизни переменных – это время нахождения переменной в памяти.

Переменная — это именованный участок памяти, в котором хранится значение, которое может быть изменено программой. Все переменные перед их использованием должны быть объявлены. 

Синтаксис объявления переменных в С# выглядит следующим образом:

   ТипДанных Идентификатор

Например:

int i;

Объявить можно переменную любого действительного типа. Важно подчеркнуть, что возможности переменной определяются ее типом. Например, переменную типа bool нельзя использовать для хранения числовых значений с плавающей точкой. Кроме того, тип переменной нельзя изменять в течение срока ее существования. В частности, переменную типа int нельзя преобразовать в переменную типа char.

Все переменные в С# должны быть объявлены до их применения. Это нужно для того, чтобы уведомить компилятор о типе данных, хранящихся в переменной, прежде чем он попытается правильно скомпилировать любой оператор, в котором используется переменная. Это позволяет также осуществлять строгий контроль типов в С#.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]