05.07.2012, 17:26 | #1 (permalink) |
Новичок
Регистрация: 05.07.2012
Сообщений: 1
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Нужна помощь в решении уравнения, которое имеет комплексные корни
program pr; uses crt; var t1:text; const a0=1E-5; ro1= 1000; ro2= 0.590; Cp1= 4216; //Cp2= 2034; lyam1= 0.680; gam= 1.3; l= 2257200; pi=3.14; p0= 1e5; T111=4967; p111=6.0716e+10; sigma= 0.05891; v= 279e-9; Rv=454; Rg=287; E=1e-8; var mg0,mg00,rov,Cp2,Z,A,value1,vT,a00,pg0,lam_TT,Lam, Lam_R,Lam_VV,Lam_T,lam_RR,lam_MM,pv0,max,Ya,betta, Ts,Ts1,Nu,laym,laym1,value:real; i:integer; function f(a01,mg01:real):real; begin f:= (4*pi/3)*((pv0-p0)*a01*a01*a01-2*sigma*a01*a01)+mg01*Rg*Ts1; end; function Y(lam,a002:real):real; begin Y:= sqrt((lam*a002*a002*ro1*Cp1)/lyam1); end; function pg00(mg02,a002:real):real; begin pg00:=(3*mg0*Rg*Ts1)/(4*pi*a002*a002*a002); end; function FF(lam,a02,mg02:real):real; begin FF:= ro1*a02*a02*lam*lam+4*v*ro1*lam+(3*gam*pv0*Y(lam,a 02)*Y(lam,a02)*(1+pg00(mg02,a02)/(ro2*l)))/ (gam*Y(lam,a02)*Y(lam,a02)+betta*(1+Y(lam,a02)))+3 *pg00(mg02,a02)-2*sigma/a02; end; function pol_del1(mg_01:real):real; var a,b,c: real; begin a:= 0; b:= 6.6e-6; c:= (a+b)/2; while (abs(b-a)>E) do begin if f(a,mg_01)*f(c,mg_01) < 0 then b:= c else a:= c; c:= (a+b)/2; end; value1:= (a+b)/2; result:=value1; end; function pol_del2(res,mg_02:real):real; var a,b,c: real; begin a:= -1e6; b:= 1e6; c:= (a+b)/2; while (abs(b-a)>E) do begin if FF(a,res,mg_02)*FF(c,res,mg_02) < 0 then b:= c else a:= c; c:= (a+b)/2; end; Lam:= (a+b)/2; result:=Lam; end; begin pv0:=p0+2*sigma/a0; vT:=lyam1/(ro1*Cp1); Ts1:=T111/ln(p111/pv0); mg00:=(128*sigma*sigma*sigma*pi)/(81*Rg*Ts1*(2*sigma/a0)*(2*sigma/a0)); Cp2:=gam*Rv/(gam-1); betta:=3*(gam-1)*sqr(Cp2*Ts1/l)*((ro1*Cp1)/(ro2*Cp2)); assign(t1,'D:\данные\10 мая для устойчивого.txt'); rewrite(t1); writeln(t1,' mg0 value1 Lam'); begin for i:=0 to 1000 do begin mg0:=i*mg00/1000; value1:=pol_del1(mg0); Lam:=pol_del2(value1,mg0); writeln(t1,mg0,' ',value1,' ',Lam); end; close(t1); end; end. |
05.07.2012, 17:26 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Посмотрите данные обсуждения, в них скорее всего есть важные ответы Паскаль. Найти корни уравнения методом хорд Определить корни уравнения, используя метод секущих Нужна помощь в решении задачи Нужна помощь в решении двух задач Нужна помощь в решении задач на Паскале |
05.07.2012, 19:18 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Возможно, я и смог бы Вам помочь, но не прежде, чем будет выложена ПОЛНАЯ формулировка задачи. С видом уравнений и всем прочим.
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|