• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Нужна помощь в решении уравнения, которое имеет комплексные корни

  • Автор темы Автор темы niderok
  • Дата начала Дата начала

niderok

Ученик
Регистрация
5 Июл 2012
Сообщения
1
Реакции
0
Баллы
0
Нужна помощь в решении уравнения, которое имеет комплексные корни

Здравствуйте,уважаемые программисты! С такой проблемой к вам. Передо мной стоит задача в решении уравнения, которое имеет комплексные корни. программа которую сюда присылаю, имеет два уравнения, одно уравнение находит корни в выбранной области,методом пол_дела, второе уравнение зависит от решения первого,метод тот же используется. для первого уравнения решения выходят "хорошие", а вот для второго будут комплексные, так как нужно находить корени из отрицательных чисел. и вот тут я не знаю как быть,если есть мысли могли бы вы мне помочь,в решении моей задачи. Сразу говорю сам я толком ничего не умею программировать. Поэтому фраза сделай так-то так-то просто бесполезна,понять я понимаю,а как сделать не знаю.Огромное спасибо за внимание!

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.
 
Возможно, я и смог бы Вам помочь, но не прежде, чем будет выложена ПОЛНАЯ формулировка задачи. С видом уравнений и всем прочим.
 
Назад
Сверху