|
11-variant 2-лабаратория иши бўйича қуйидаги топшириқлар бажарилади
|
tarix | 15.06.2023 | ölçüsü | 1,35 Mb. | | #130597 |
| 11-variant topshiriq 2
Muhammad al-Xorazmiy nomidagi Toshkent Axborot Texnologiyalari Universiteti
2-Labaratoriya ishi
Bajardi:070-20 - guruh talabasi Mamajonov Toxirjon Tekshirdi:
Tashkent – 2023
11-variant
2-лабаратория иши бўйича қуйидаги топшириқлар бажарилади.
1. Берилган масала учун геометрик усулда МБЕС топилсин.
2. Масала таянч ечимлари топилсин.
3. ЧДМ оптимал ечими топилсин.
4. Берилган масала учун эгизак масала тузилсин.
5. Эгизак масала учун МБЕС топилсин.
6. Эгизак масала таянч ечимлари ва оптимал ечими топилсин.
7. Берилган ЧДМ Симплекс усулда ечилсин.
8. Симплекс жадвалдан эгизак масала ечимлари топилсин.
9. Топилган ечим иқтисодий таҳлил қилинсин.
10. Берилган математик моделга мос иқтисодий масала тузилсин.
#include
using namespace std;
void sysout(double **a, double *y, int n)
{
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
cout << a[i][j] << "*x" << j;
if (j < n - 1)
cout << " + ";
}
cout << " <= " << y[i] << endl;
}
return;
}
double * simpson(double **a, double *y, int n)
{
double *x, max;
int k, index;
const double eps = 0.0000000001;
x = new double[n];
k = 0;
while (k < n)
{
max = abs(a[k][k]);
index = k;
for (int i = k + 1; i < n; i++)
{
if (abs(a[i][k]) > max)
{
max = abs(a[i][k]);
index = i;
}
}
for (int j = 0; j < n; j++)
{
double temp = a[k][j];
a[k][j] = a[index][j];
a[index][j] = temp;
}
double temp = y[k];
y[k] = y[index];
y[index] = temp;
for (int i = k; i < n; i++)
{ double temp = a[i][k];
if (abs(temp) < eps) continue;
for (int j = 0; j < n; j++)
a[i][j] = a[i][j] / temp;
y[i] = y[i] / temp;
if (i == k) continue;
for (int j = 0; j < n; j++)
a[i][j] = a[i][j] - a[k][j];
y[i] = y[i] - y[k];
}
k++;
}
for (k = n - 1; k >= 0; k--)
{
x[k] = y[k];
for (int i = 0; i < k; i++)
y[i] = y[i] - a[i][k] * x[k];
}
return x;
}
float F(float x0,float x1,float x2)
{
return 10*x0+21*x1+23*x2;
}
int main()
{
double **a, *y, *x;
int n;
system("chcp 1251");
system("cls");
cout << "Tengsizliklar sonini kiriting: ";
cin >> n;
a = new double*[n];
y = new double[n];
for (int i = 0; i < n; i++)
{
a[i] = new double[n];
for (int j = 0; j < n; j++)
{
cout << "a[" << i << "][" << j << "]= ";
cin >> a[i][j];
}
}
for (int i = 0; i < n; i++)
{
cout << "y[" << i << "]= ";
cin >> y[i];
}
sysout(a, y, n);
x = simpson(a, y, n); cout<<"Maqsad funksiya optimal yechimi\n";
for (int i = 1; i <= n; i++)
cout << "x[" << i << "]=" << x[i] << endl;
cout<<"F(x)="<cin.get(); cin.get();
return 0;
}
Dostları ilə paylaş: |
|
|