Помощь в учёбе, очень быстро...
Работаем вместе до победы

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

РефератПомощь в написанииУзнать стоимостьмоей работы

Input ('Вид ГУ на левой границе (1-Дирихле, 2- Неймана): '); Очистка ранее сохраненных результатов вычислений. Задание равномерной координатной сетки с шагом dx. Вычисление значений функций, заданных символьно,. Закрытие раннее выведенных графических окон. Input ('Начальная координата области решения: '); Построение графика функции правой части f (x). Соответствующих внутренним точкам области… Читать ещё >

А. Пример m-файла численного решения граничной задачи для дифференциального уравнения 2-го порядка методом конечных разностей (реферат, курсовая, диплом, контрольная)

% Очистка ранее сохраненных результатов вычислений.

% из оперативной памяти.

clear all.

% Закрытие раннее выведенных графических окон.

close all.

% Очистка экрана.

clc.

% Ввод исходных данных с клавиатуры.

input ('Начальная координата области решения: ');

x0= ans;

input ('Конечная координата области решения: ');

xn=ans;

input ('Число точек координатной сетки: ');

n=ans;

input ('Функция правой части уравнения в одинарных кавычках: ');

f=ans;

input ('Вид ГУ на левой границе (1-Дирихле, 2- Неймана): ');

v1=ans;

input ('Значение ГУ на левой границе: ');

g1=ans;

input ('Вид ГУ на правой границе (1-Дирихле, 2- Неймана): ');

v2=ans;

input ('Значение ГУ на правой границе: ');

g2=ans;

%Задание равномерной координатной сетки с шагом dx.

x=x0:(xn-x0)/(n-1):xn;

dx=x (2)-x (1);

% Вычисление значений функций, заданных символьно,.

% в узлах координатной сетки.

F=inline (f,'x');

FF=F (x);

% Задание матрицы коэффициентов СЛАУ размерностью n x n,.

% все элементы которой равны 0.

a=zeros (n, n);

% Задание матрицы-строки свободных членов СЛАУ размерностью 1 x n,.

% все элементы которой равны 0.

b=zeros (1,n);

% Определение коэффициентов и свободных членов СЛАУ,.

% соответствующих граничным условиям и проверка корректности.

% значений параметров v1, v2.

b (1)=g1;

if v1==1.

a (1,1)=1;

elseif v1==2.

a (1,1)=-1/dx;

a (1,2)=1/dx;

else.

error ('Parameter v1 have incorrect value');

end.

b (n)=g2;

if v2++1.

if v2==1.

a (n, n)=1;

elseif v2==2.

a (n, n)=1/dx;

a (n, n-1)=-1/dx;

else.

error ('Parameter v2 have incorrect value');

end.

% Определение коэффициентов и свободных членов СЛАУ,.

% соответствующих внутренним точкам области.

for i=2:n-1.

a (i, i)=-2/dx2;

a (i, i+1)=1/dx2;

a (i, i-1)=1/dx2;

b (i)=FF (i);

end.

% Решение СЛАУ.

u=b/a';

% Построение графика функции правой части f (x).

plot (x, FF, x, ones (size (x)).*(sum (FF)/length (FF)),'r.','LineWidth', 1.5).

xlabel ('x','FontSize', 13).

ylabel ('f (x)','FontSize', 13).

grid on.

% Построение графика искомой функции u (x).

figure.

plot (x, u, x, ones (size (x)).*(sum (u)/length (u)),'r.','LineWidth', 1.5).

xlabel ('x','FontSize', 13).

ylabel ('U (x)','FontSize', 13).

grid on.

end.

Показать весь текст
Заполнить форму текущей работой