Нижегородский Технический Университет
Институт Радиотехники и Информационных Технологий
Кафедра «Прикладная Математика и Информатика»
Отчёт по лабораторной работе №2
Тема: «Решение систем линейных алгебраических уравнений»
Выполнила: Волынкина В.М.
группа 04-ПМ
Проверила: Катаева Л.Ю.
Нижний Новгород
2008
Содержание.
1.Постанoвка задачи №1, метод решения.
2.Постановка задачи №2, метод решения.
3. Реализация на языке С++ задачи №1.
4. Реализация на языке С++ задачи №2.
5. Реализация на языке Fortran задачи №1.
6. Реализация на языке Fortran задачи №2.
7. Реализация в Matlab задачи №1.
8. Реализация в Matlab задачи №2.
9. Вывод.
10.Список литературы.
1.Постановка задачи №1. Метод решения.
Представить реализацию метода простой итерации для решения систем линейных алгебраических уравнений.
Запишем исходную систему уравнений в векторно-матричном виде: Ax=F.
Пусть Е - заданное приближение.
Матрицу А всегда можно привести к виду, когда на диагонали находятся максимальные значения. Только в этом случае итерационный метод применяют.
Приведение матрицы А происходит путём нахождения в строке максимального элемента и перестановки этой строки на место той строки, номер которой совпадает с номером столбца максимального элемента.
Затем из каждого уравнения выражаем хi:
Чтобы запустить итерационный процесс, необходимо задать начальные приближения значений неизвестных: хi(0)=0.
Затем подставим нулевые значения переменных в правые части уравнений. Получим некоторые значения переменных хi: Будем рассматривать их в качестве следующего (первого) приближения хi(1).
Проверим, удовлетворяют ли заданной точности получившиеся значения. Найдём модули разности получившегося приближения и начального: !х(1)-х(0)! Если значения модулей больше заданного приближения, продолжаем итерационный процесс.
На следующем шаге подставляем в правые части формул х(1) приближения, получаем значения х(2) приближений, проверяем модули разности и т.д.
Итерационный процесс продолжается до тех пор, пока все значения х i(k) не станут близкими к xi(k+1), т.е. пока модули разности не станут меньше заданного приближения: !х(к+1)-х(к)!<Е.
2.Постановка задачи №2. Метод решения.
Представить реализацию метода Зейделя для решения систем линейных алгебраических уравнений.
Запишем исходную систему уравнений в векторно-матричном виде: Ax=F.
Пусть Е - заданное приближение.
Приводим матрицу А к виду, когда на диагонали находятся максимальные значения.
(как в методе простой итерации).
Затем из каждого уравнения выражаем хi:
Чтобы запустить итерационный процесс, необходимо задать начальные приближения значений неизвестных: хi(0)=0.
Затем подставим нулевые значения переменных в правую часть первого уравнения, т.е. в формулу для х1. В следующие формулы для хi будем подставлять значения переменных, найденные на этом же шаге. Например: формула
Получившиеся значения переменных будем рассматривать как следующие приближения.
После каждого итерационного шага делаем проверку по принципу, описанному в методе простой итерации.
3. Реализация на языке С++ задачи №1.
#include <iostream>
using namespace std;
int main()
{
int c=0,n,p,z;
float l=0,t=0,E,max,r;
cout<<"kol-vo perem=";
cin>>n;
cout<<n<<endl;
float A[n][n],F[n], x[n],y[n],q[n];
for (int i=0; i<n; i++)
{
for (int j=0;j<n;j++)
{
cout<<"A["<<i<<"]["<<j<<"]=";
cin>>A[i][j];
}
}
for (int i=0;i<n;i++)
{
cout<<"F["<<i<<"]=";
cin>>F[i];
}
cout<<"priblijenie=";
cin>>E;
cout<<E<<endl;
//---------------privedenie matrici--------------------------
for (int i=0;i<n;i++)
{ max=A[i][0];
for (int j=0;j<n;j++)
{
if (max<A[i][j]) {max=A[i][j];p=i,z=j;}
}
if (p!=z) {for (int j=0;j<n;j++) {
q[j]=A[z][j];
A[z][j]=A[p][j];
A[p][j]=q[j];
}
}
}
for (int i=0; i<n; i++)
{
for (int j=0;j<n;j++)
{
cout<<"A["<<i<<"]["<<j<<"]="<<A[i][j]<<" ";
}
}
cout<<"privedena"<<endl;
//------------------------------------------------------------
for (int i=0;i<n;i++) //1 shag
{
x[i]=F[i]/A[i][i];
cout<<"x["<<i<<"]="<<x[i]<<endl;
}
for (int i=0;i<n;i++) {
if (x[i]<E) {c=c+1;}
}
if (c==n) {goto END;}
else c=0;
goto V;
V: for (int i=0;i<n;i++) {y[i]=x[i];}
for (int i=0;i<n;i++)
{
Наверняка у вас есть товары или услуги, продажа которых приносит вам максимальную прибыль. Для быстрого старта в сети вам необходимо создание посадочной страницы (одностраничного сайта), на которой будет размещена информация о маржинальных товарах/услугах интернет магазина. За 8 лет опыта разработки конверсионных страниц мы выработали оптимальную структуру, которая позволит привлекать через landing page больше продаж. На такую структуру «одевается» ваш контент — фирменный стиль, тексты, фотографии, уникальные торговые предложения, после чего страница выходит в свет. Разработка лендинга и запуск в сети — до 7 рабочих дней. Стоит отметить, что в разработку самой посадочной страницы входит и написание копирайтером продающих текстов для вашего бизнеса, чтобы каждый посетитель страницы захотел совершить покупку именно у вас. Результат: качественно разработаная продающая посадочная страница, которая готова приносить вам новых клиентов.