Объем дисциплины и виды учебной работы
y[0] = 1.99990099 y[1] = -0.01970267 time = 0.02 y[0] = 1.99960789 y[1] = -0.03882136 time = 0.03 y[0] = 1.99912646 y[1] = -0.05737210 time = 0.04 y[0] = 1.99846229 y[1] = -0.07537089 time = 0.05 y[0] = 1.99762083 y[1] = -0.09283365 time = 0.06 y[0] = 1.99660735 y[1] = -0.10977620 time = 0.07 y[0] = 1.99542699 y[1] = -0.12621419 time = 0.08 y[0] = 1.99408470 y[1] = -0.14216314 time = 0.09 y[0] = 1.99258530 y[1] = -0.15763834 time = 0.10 y[0] = 1.99093346 y[1] = -0.17265487 time = 0.11 y[0] = 1.98913368 y[1] = -0.18722757
Задпние №3 решение уравнений в частных производных #include <stdio.h> #include <math.h>
const double L = 200.0, h = 1.0, tau = 0.1, u0 = 22.0; const double tn = 0.0, tmax = 10000.0, a = 1.0;
double g0 (double x) { return sin(x+0.480); // Введите функцию g0(x) } double f0 (double time) { return 0.46180;// Введите функцию f0(t) } double f1 (double time) { return 3.0*time+0.8820; // Введите функцию f1(t) }
int main () { FILE * fil; // блок подготовки int n = (int) (L / h) + 1; double x = 0.0; double * u = new double [n]; double time = tn; fopen_s (&fil, "teplo.dat", "w"); // начальные значения температур u[0] = f0 (time);; //fi1(time); for (int i=1; i<n-1; i++) { u[i] = g0 (x); x += h; } u[n-1] = f1 (time); //fi2(time);
// основной расчет double upr, uu, R = a*a*tau/(h*h); do { upr = u[0]; for (int i=1; i<n-1; i++) { uu = u[i]; u[i] += R*(upr-2.0*u[i]+u[i+1]); upr = uu; } u[0] = f0(time+tau); u[n-1] = f1(time+tau); time += tau; } while (time <= tmax); // вывод вычесленных значений температур fprintf (fil, "\n вывод вычесленных значений температур\n"); for (int i=0; i<n; i++) { fprintf (fil, "u[%d]=%2.8f\t", i, u[i]); if (!((i+1)%3)) fprintf (fil, "\n"); } fprintf (fil, "\n"); printf ("End calculus\n"); delete [] u; fclose (fil); return 0; }
Результаты вычислений вывод вычесленных значений температур u[0]=0.46180000 u[1]=60.77452300 u[2]=121.09970379 u[3]=181.44980078 u[4]=241.83727365 u[5]=302.27458393 u[6]=362.77419567 u[7]=423.34857605 u[8]=484.01019599 u[9]=544.77153080 u[10]=605.64506077 u[11]=666.64327182 u[12]=727.77865608 u[13]=789.06371257 u[14]=850.51094776 u[15]=912.13287620 u[16]=973.94202114 u[17]=1035.95091514 u[18]=1098.17210068 u[19]=1160.61813073 u[20]=1223.30156941 u[21]=1286.23499256 u[22]=1349.43098833 u[23]=1412.90215778 u[24]=1476.66111549 u[25]=1540.72049011 u[26]=1605.09292499 u[27]=1669.79107872 u[28]=1734.82762573 u[29]=1800.21525685 u[30]=1865.96667989 u[31]=1932.09462022 u[32]=1998.61182128 u[33]=2065.53104518 u[34]=2132.86507324 u[35]=2200.62670654 u[36]=2268.82876644 u[37]=2337.48409517 u[38]=2406.60555629 u[39]=2476.20603526 u[40]=2546.29843998 u[41]=2616.89570124 u[42]=2688.01077331 u[43]=2759.65663439 u[44]=2831.84628710 u[45]=2904.59275903 u[46]=2977.90910319 u[47]=3051.80839846 u[48]=3126.30375012 u[49]=3201.40829031 u[50]=3277.13517845 u[51]=3353.49760171 u[52]=3430.50877550 u[53]=3508.18194384 u[54]=3586.53037987 u[55]=3665.56738619 u[56]=3745.30629535 u[57]=3825.76047025 u[58]=3906.94330450 u[59]=3988.86822287 u[60]=4071.54868164 u[61]=4154.99816900 u[62]=4239.23020544 u[63]=4324.25834406 u[64]=4410.09617100 u[65]=4496.75730574 u[66]=4584.25540143 u[67]=4672.60414528 u[68]=4761.81725883 u[69]=4851.90849831 u[70]=4942.89165489 u[71]=5034.78055504 u[72]=5127.58906079 u[73]=5221.33107000 u[74]=5316.02051667 u[75]=5411.67137116 u[76]=5508.29764048 u[77]=5605.91336852 u[78]=5704.53263629 u[79]=5804.16956213 u[80]=5904.83830197 u[81]=6006.55304949 u[82]=6109.32803637 u[83]=6213.17753244 u[84]=6318.11584586 u[85]=6424.15732334 u[86]=6531.31635024 u[87]=6639.60735076 u[88]=6749.04478809 u[89]=6859.64316452 u[90]=6971.41702156 u[91]=7084.38094008 u[92]=7198.54954040 u[93]=7313.93748238 u[94]=7430.55946552 u[95]=7548.43022902 u[96]=7667.56455184 u[97]=7787.97725280 u[98]=7909.68319056 u[99]=8032.69726370 u[100]=8157.03441074 u[101]=8282.70961016 u[102]=8409.73788038 u[103]=8538.13427978 u[104]=8667.91390668 u[105]=8799.09189933 u[106]=8931.68343586 u[107]=9065.70373423 u[108]=9201.16805221 u[109]=9338.09168728 u[110]=9476.48997658 u[111]=9616.37829684 u[112]=9757.77206424 u[113]=9900.68673437 u[114]=10045.13780207 u[115]=10191.14080134 u[116]=10338.71130517 u[117]=10487.86492547 u[118]=10638.61731283 u[119]=10790.98415644 u[120]=10944.98118387 u[121]=11100.62416092 u[122]=11257.92889141 u[123]=11416.91121701 u[124]=11577.58701700 u[125]=11739.97220808 u[126]=11904.08274413 u[127]=12069.93461599 u[128]=12237.54385119 u[129]=12406.92651374 u[130]=12578.09870382 u[131]=12751.07655755 u[132]=12925.87624667 u[133]=13102.51397829 u[134]=13281.00599459 u[135]=13461.36857246 u[136]=13643.61802327 u[137]=13827.77069249 u[138]=14013.84295934 u[139]=14201.85123653 u[140]=14391.81196984 u[141]=14583.74163779 u[142]=14777.65675126 u[143]=14973.57385316 u[144]=15171.50951800 u[145]=15371.48035152 u[146]=15573.50299032 u[147]=15777.59410139 u[148]=15983.77038179 u[149]=16192.04855815 u[150]=16402.44538628 u[151]=16614.97765075 u[152]=16829.66216442 u[153]=17046.51576801 u[154]=17265.55532964 u[155]=17486.79774438 u[156]=17710.25993375 u[157]=17935.95884530 u[158]=18163.91145208 u[159]=18394.13475217 u[160]=18626.64576819 u[161]=18861.46154680 u[162]=19098.59915820 u[163]=19338.07569561 u[164]=19579.90827473 u[165]=19824.11403328 u[166]=20070.71013041 u[167]=20319.71374621 u[168]=20571.14208113 u[169]=20825.01235548 u[170]=21081.34180885 u[171]=21340.14769957 u[172]=21601.44730415 u[173]=21865.25791673 u[174]=22131.59684848 u[175]=22400.48142706 u[176]=22671.92899604 u[177]=22945.95691431 u[178]=23222.58255549 u[179]=23501.82330739 u[180]=23783.69657135 u[181]=24068.21976171 u[182]=24355.41030517 u[183]=24645.28564021 u[184]=24937.86321649 u[185]=25233.16049424 u[186]=25531.19494364 u[187]=25831.98404422 u[188]=26135.54528427 u[189]=26441.89616017 u[190]=26751.05417583 u[191]=27063.03684204 u[192]=27377.86167584 u[193]=27695.54619994 u[194]=28016.10794205 u[195]=28339.56443429 u[196]=28665.93321254 u[197]=28995.23181581 u[198]=29327.47778567 u[199]=29662.68866552 u[200]=30000.88200006
задание№4 #include <stdio.h> #include <math.h>
void main () { const double h = 0.2, xmax = 1.0, ymax = 1.0; const double eps = 0.01, Pi = 3.1415; const int kmax = 200; FILE * f; int n = (int) (xmax / h) + 1;
double ** u; u = new double * [n]; for (int i=0; i<n; i++) u[i] = new double [n]; fopen_s (&f, "station.dat", "w"); // Стороны AB и CD double y = 0.0; for (int j=0; j<n; j++) { u[0][j] =0.0; // Введите функцию на стороне AB u[n-1][j] = 50.0*y*(1-pow(y,2.0)); // Введите функцию на стороне CD y += h; } // Стороны AD и BC double x = 0.0; for (int i=0; i<n; i++) { u[i][0] = 50.0*x*(1-x); // Введите функцию на стороне AD u[i][n-1] =50.0*x*(1-x); // Введите функцию на стороне BC x += h; } // Начальные значения искомой функции внутри области for (int i=1; i<n-1; i++) for (int j=1; j<n-1; j++) u[i][j] = 0.0;
int k = 0; do { for (int i=1; i<n-1; i++) for (int j=1; j<n-1; j++) { u[i][j] = 0.25*(u[i-1][j]+u[i+1][j]+u[i][j+1]+u[i][j-1]); } k++; } while (k<kmax); fprintf (f, "Вычисленные значения\n"); for (int j=n-1; j>=0; j--) { for (int i=0; i<n; i++) { printf ("%2.4f\t", u[i][j]); fprintf (f, "%2.4f\t", u[i][j]); } printf ("\n"); fprintf (f, "\n"); }
for (int i=0; i<n; i++) delete [] u[i]; delete [] u; fclose (f); } Вычисленные значения 0.0000 8.0000 12.0000 12.0000 8.0000 0.0000 0.0000 5.3947 9.0948 10.8992 11.7296 14.4000 0.0000 4.4839 8.0853 10.7722 13.6192 19.2000 0.0000 4.4555 7.9904 10.4853 12.7748 16.8000 0.0000 5.3478 8.9355 10.4039 10.1947 9.6000 0.0000 8.0000 12.0000 12.0000 8.0000 0.0000
Задание№5
#include <stdio.h>
const int n = 3; const int n1 = 2;
int main () { double x[n] = { 0.0 }; double a[n][n] = { {15.5,-13.1,37.0}, {40.1,7.2,-11.9 },{11.5,54.8,23.7}}; //Введите коэффициенты при x, y, z double b[n] = {16.79,-53.23,141.57 }; // Введите столбец свободных членов
FILE * f; fopen_s (&f, "gauss.dat", "w");
// Печать исходной системы fprintf (f, "Исходная линейная система\n"); for (int l=0; l<n; l++) { for (int m=0; m<n; m++) { fprintf (f, "%2.3f * x[%d] ", a[l][m], m); if ((m<n-1) && (a[l][m+1]>=0.0)) fprintf (f, "+"); if (m==(n-1)) fprintf (f, " = "); } fprintf (f, "%2.3f\n", b[l]); }
// Прямой ход метода Гаусса double w[n1]; for (int i=1; i<n; i++) { int l = i - 1; for (int j=0; j<n-i; j++) w[j] = -a[j+i][l] / a[l][l]; for (int k=i; k<n; k++) { for (int j=0; j<n; j++) a[k][j] += a[l][j]*w[k-i]; b[k] += b[l]*w[k-i]; } }
// Печать системы, приведенной к треугольному виду fprintf (f, "\nСистема, приведенная к треугольному виду\n"); for (int l=0; l<n; l++) { for (int m=0; m<n; m++) { fprintf (f, "%2.3f * x[%d] ", a[l][m], m); if ((m<n-1) && (a[l][m+1]>=0.0)) fprintf (f, "+"); if (m==(n-1)) fprintf (f, " = "); } fprintf (f, "%2.3f\n", b[l]); }
// Обратный ход метода Гаусса double sum; for (int j=n-1; j>=0; j--) { sum = 0.0; for (int i=j; i<n-1; i++) sum += a[j][i+1]*x[i+1]; x[j] = (b[j] - sum) /a[j][j]; }
// Печать результатов printf ("Solution - \n"); fprintf (f, "\nВычисленные решения системы\n"); for (int i=0; i<n; i++) { printf ("x[%d] = %2.4f ", i, x[i]); fprintf (f, "x[%d] = %2.4f ", i, x[i]); } printf ("\n"); fprintf (f, "\n");
fclose (f); return 0; }
Исходная линейная система 15.500 * x[0] -13.100 * x[1] +37.000 * x[2] = 16.790 40.100 * x[0] +7.200 * x[1] -11.900 * x[2] = -53.230 11.500 * x[0] +54.800 * x[1] +23.700 * x[2] = 141.570
Система, приведенная к треугольному виду 15.500 * x[0] -13.100 * x[1] +37.000 * x[2] = 16.790 0.000 * x[0] +41.091 * x[1] -107.623 * x[2] = -96.667 0.000 * x[0] +0.000 * x[1] +165.233 * x[2] = 280.896
Вычисленные решения системы x[0] = -1.2000 x[1] = 2.1000 x[2] = 1.7000
СОДЕРЖАНИЕ ДИСЦИПЛИНЫ И ВИДЫ УЧЕБНОЙ РАБОТЫ Содержание дисциплины по ГОС Системы производства и распределения энергоносителей на промышленных предприятиях: характеристика энергоносителей; масштабы их производства и потребления; методика определения потребности в энергоносителях; система воздухоснабжения:назначение, схема; классификация потребителей сжатого воздуха; определение расчетной нагрузки для проектирования компрессорной станции (КС); выбор типа и количества компрессоров КС; расчет технологических схем КС; система технического водоснабжения:назначение, классификация, схемы; состав оборудования; методика определения потребности в воде на технологические и противопожарные нужды предприятия; требования к качеству и параметрам технической воды; прямоточные, оборотные и бессточные системы технического водоснабжения; расчет и выбор основного и вспомогательного оборудования; системы газоснабжения:назначение, схемы, классификация; состав оборудования; газовый баланс предприятия; определение расчетной потребности в газе; природные, искусственные и отходящие горючие газы; проблемы очистки, аккумулирование, использование избыточного давления; системы обеспечения искусственными горючими; области использования; способы получения; технико-экономические показатели; проблемы защиты окружающей среды; системы холодоснабжения:назначение, схемы, классификация; методика определения потребности в холоде; технологические схемы холодильных станций, их выбор и расчет; системы обеспечения предприятий продуктами разделения воздуха:назначение, схемы, классификация; характеристика потребителей технического и технологического кислорода, аргона и других продуктов разделения; графики и режимы потребления; методы расчета технологических схем станций разделения и их оборудования.
Объем дисциплины и виды учебной работы
|