Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Статьи » Рішення еліптичних рівнянь декількома методами

Реферат Рішення еліптичних рівнянь декількома методами





pos12=0; pos21=0; pos22=0; % Laquo; дискретизація початкових умов і початкове заповнення матриці значень сіткової функції U (1,:)=feval (fi, x (1), y); % Перший рядок матриці U (N + 1,:)=feval (fi, x (N + 1), y); % Останній рядок матриці U (:, 1)=feval (fi, y (1), x ); % Перший стовпець матриці U (:, N + 1)=feval (fi, y (N + 1), x ); % Останній стовпець матриці% U (2: N, 2: N)=rand (N - 1, N - 1); % Для вирішення нам необхідно початкове наближення. Здійснюємо випадкове початкове наближення! for i=1: N - 1% Заповнення блокової матриці - основної матриці системи if (i == 1) pos11=1; pos12=N - 1; else pos11=pos12 + 1; pos12=pos12 + N - 1; end; for j=1: N - 1 if (j == 1) pos21=1; pos22=N - 1; else pos21=pos22 + 1; pos22=pos22 + N - 1; end; if (i == j) A (pos11: pos12, pos21: pos22)=Aii; else if (i == j - 1 | i == j + 1) A (pos11: pos12, pos21: pos22)=Aij; end; end; end; % Провести заповнення B if (pos11 == 1 amp; pos12 == N - 1) B (pos11: pos12,1)=- U (1,2: N) laquo ;; B (pos11,1)=B (pos11,1) -U (2,1); B (pos12,1)=B (pos12,1) -U (2, N + 1); else if (pos11 == (N - 1) * (N - 1) - (N - 2) amp; pos12 == (N - 1) * (N - 1)) B (pos11: pos12,1)=-U (N + 1,2: N) raquo ;; B (pos11,1)=B (pos11,1) -U (N, 1); B (pos12,1)=B (pos12,1) -U (N, N + 1); else B (pos11,1)=B (pos11,1) -U (i + 1,1); B (pos12,1)=B (pos12,1) -U (i + 1, N + 1); end; end; end; % Власне обчислення ... Застосовується метод Гаусса з виключенням нульових% елементів d=0; iter=0; X=A B; for i=2: N if (i == 2) pos11=1; pos12=N - 1; else pos11=pos12 + 1; pos12=pos12 + N - 1; end; U (i, 2: N)=X (pos11: pos12,1) 'end; figure; surf (x, y, U);

ElipT1.mfunction [x, y, U]=ElipT1 (X, N, tau, fi, E)% X - Сторона квадрата% N - Кількість вузлів% tau - крок за часом% fi -функція граничної умови% E - точність% Рівномірна сітка по просторовим змінним h=X/N; x=[0: h: h * N]; % Розбиваємо сітку по змінній х y=[0: h: h * N]; % Розбиваємо сітку по перемінної у U=zeros (N + 1, N + 1); % Матриця значень сіткової функції U0=zeros (N + 1, N + 1); % Матриця, що містить попередній шар рішення за часом F=zeros (N + 1, N + 1); % Матриця значень сіткової функції f (x, y)% дискретизація початкових умов і початкове заповнення матриці значень сіткової функції U (1,:)=feval (fi, x (1), y); % Перший рядок матриці U (N + 1,:)=feval (fi, x (N + 1), y); % Останній рядок матриці U (:, 1)=feval (fi, y (1), x ); % Перший стовпець матриці U (:, N + 1)=feval (fi, y (N + 1), x ); % Останній стовпець матриці% Заповнення матриці U початковими значеннями функції psi (x, y) -% довільна функція для початкового шару for i=2: N for j=2: NU (i, j)=rand (1,1);% задаємо якесь випадкове початкове наближення end; end; M=E + 0.1; sigma=tau/h ^ 2; iter=0; while (M gt; E amp; iter lt;=500)% процес прагне до заданої точності U0=U; % Запам'ятовуємо попереднє наближення for i=2: N for j=2: NU (i, j)=sigma * (U0 (i + 1, j) + U0 (i - 1, j) + U0 (i, j + 1 ) + U0 (i, j - 1)) + (1-4 * sigma) * U0 (i, j);% - tau * Fi (i, j); end; d=norm (U (i,:) - U0 (i, :)); if (M gt; d) M=d; end; end; iter=iter + 1; end; figure; display ( Всього потурбувалися ітерацій: ); display (iter); surf (x, y, U); % Висновок поверхні!


Назад | сторінка 5 з 5





Схожі реферати:

  • Реферат на тему: Автоматизація розв'язання задачі на находженіе матриці в складі іншої м ...
  • Реферат на тему: Вирішення системи рівнянь, матриці
  • Реферат на тему: Визначники матриці та системи лінійних алгебраїчних рівнянь
  • Реферат на тему: Розробка в середовищі Turbo Pascal програми обчислення суми елементів рядкі ...
  • Реферат на тему: Матриці