Химические методы анализа - 254 стр.

UptoLike

Составители: 

Рубрика: 

507
3812 m1=o:m3=0
3820 for i=1 to N
3850 s10(i)=(ax(i)^2+bx(i)+c)
3860 m1=m1+s10(i)
3870 m2= m1/s1
3875 o1(i)=(s10(i)-m2)^2
3880 m3=m3+o1(i)
3881 next i
3890 R1=m3/s9
3891 R=sqr(R1)
3892 if R<1 goto 3900
3893 R=2-R
3900 cls:print “Уравнение параболы
4000 print “Y=“ using “####.#####”;a;:print”x^2+” using “####.#####”;
b;:print”x+”using “####.#####”;c
4100 print Коэффициент корреляции R =“ using “#.####”;R
4150 print “Хотите сравнить исходные значения y с рассчитанными
значениями Y (Y/N)”;
4200 a$=input$(1)
4250 if a$=“N” goto 7500
4251 if a$=“n” goto 7500
4253 if a$=“Y” or a$=“y” then 4400 else 4150
4400 print “ x y(измер) Y(теор) “
4450 for i=1 to N
4500 print using “####.#####”;x(i),y(i),(ax(i)^2 + bx(i)+c)
4550 next i
7500 end
Приложение IV
Программа для решения системы из n уравнений
0 rem “Программа Гаусса-Жордана
1rem **********************************************
2rem ***Решение системы из n линейных уравнений***
3rem*** c n неизвестными методом Гаусса-Жордана***
4rem **********************************************
40000 cls:screen 0
50000 dim a(20,18)
50100 input “Число неизвестных”;N
50101 if N<2 goto 63999
508
50200 print “Ввод расширенной матрицы коэффициентов
50300 for i=1 to N
50400 for j=1 to N
50500 print “a(“;i;”,”;j;”)= “;:input a(i,j)
50600 next j
50700 print “b(“;i;”)= “;:input a(i,N+1)
50800 next i: print
50900 for s=1 to N
51000 for t=s to N
51100 if a(t,s)><0 then 51300
51200 next t:print “Единственного решения нет”: goto 63999
51300 gosub 53000
51400 c=1/a(s,s)
51500 gosub 54000
51600 for t=1 to N
51700 if t=s then 52000
51800 c=-a(t,s)
51900 gosub 55000
52000 next t
52100 next s
52200 gosub 56000:goto 63999
53000 rem Подпрограмма для обмена уравнений
53100 for j=1 to N+1
53200 b=a(s,j):a(s,j)=a(t,j):a(t,j)=b
53300 next j
53400 return
54000 rem Подпрограмма для деления строки на диагональный элемент
54100 for j=1 to N+1
54200 a(s,j)=ca(s,j): next j
54400 return
55000rem*******************************************
55002rem*Подпрограмма для вычитания умноженной **
55004rem* на с s-той строки из t-строки **
55005rem*******************************************
55100 for j=1 to N+1
55200 a(t,j)=a(t,j)+ca(s,j)
55300 next j
55400 return
56000 rem Подпрограмма для вывода решения на экран
56100 for t=1 to N
56200 print “x(“;t;”)= “ using “####.#####”; a(t,N+1)
3812 m1=o:m3=0                                                           50200 print “Ввод расширенной матрицы коэффициентов”
3820 for i=1 to N                                                        50300 for i=1 to N
3850 s10(i)=(a⋅x(i)^2+b⋅x(i)+c)                                          50400 for j=1 to N
3860 m1=m1+s10(i)                                                        50500 print “a(“;i;”,”;j;”)= “;:input a(i,j)
3870 m2= m1/s1                                                           50600 next j
3875 o1(i)=(s10(i)-m2)^2                                                 50700 print “b(“;i;”)= “;:input a(i,N+1)
3880 m3=m3+o1(i)                                                         50800 next i: print
3881 next i                                                              50900 for s=1 to N
3890 R1=m3/s9                                                            51000 for t=s to N
3891 R=sqr(R1)                                                           51100 if a(t,s)><0 then 51300
3892 if R<1 goto 3900                                                    51200 next t:print “Единственного решения нет”: goto 63999
3893 R=2-R                                                               51300 gosub 53000
3900 cls:print “Уравнение параболы ”                                     51400 c=1/a(s,s)
4000 print “Y=“ using “####.#####”;a;:print”⋅x^2+” using “####.#####”;   51500 gosub 54000
b;:print”x+”using “####.#####”;c                                         51600 for t=1 to N
4100 print “Коэффициент корреляции R =“ using “#.####”;R                 51700 if t=s then 52000
4150 print “Хотите сравнить исходные значения y с рассчитанными          51800 c=-a(t,s)
значениями Y (Y/N)”;                                                     51900 gosub 55000
4200 a$=input$(1)                                                        52000 next t
4250 if a$=“N” goto 7500                                                 52100 next s
4251 if a$=“n” goto 7500                                                 52200 gosub 56000:goto 63999
4253 if a$=“Y” or a$=“y” then 4400 else 4150                             53000 rem Подпрограмма для обмена уравнений
4400 print “ x y(измер) Y(теор) “                                        53100 for j=1 to N+1
4450 for i=1 to N                                                        53200 b=a(s,j):a(s,j)=a(t,j):a(t,j)=b
4500 print using “####.#####”;x(i),y(i),(a⋅x(i)^2 + b⋅x(i)+c)            53300 next j
4550 next i                                                              53400 return
7500 end                                                                 54000 rem Подпрограмма для деления строки на диагональный элемент
                                                                         54100 for j=1 to N+1
                                                                         54200 a(s,j)=c⋅a(s,j): next j
                                                 Приложение IV           54400 return
              Программа для решения системы из n уравнений               55000rem*******************************************
                                                                         55002rem*Подпрограмма для вычитания умноженной **
 0 rem “Программа Гаусса-Жордана”                                        55004rem* на с s-той строки из t-строки                  **
1rem **********************************************                      55005rem*******************************************
2rem ***Решение системы из n линейных уравнений***                       55100 for j=1 to N+1
3rem*** c n неизвестными методом Гаусса-Жордана***                       55200 a(t,j)=a(t,j)+c⋅a(s,j)
4rem **********************************************                      55300 next j
40000 cls:screen 0                                                       55400 return
50000 dim a(20,18)                                                       56000 rem Подпрограмма для вывода решения на экран
50100 input “Число неизвестных”;N                                        56100 for t=1 to N
50101 if N<2 goto 63999                                                  56200 print “x(“;t;”)= “ using “####.#####”; a(t,N+1)


                                 507                                                                    508