Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2009, 22:30   #11
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

исключительно, чтобы проиллюстрировать идею (с) goblinyara:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  mas : array[1..10, 1..2] of integer;
  i: integer;
begin
  randomize;
  for i:=1 to 10 do begin
    mas[i,1] := i*20;
    mas[i,2] := 200-(i*i+50+random(15));
  end;
  //рисование координатной сетки
  Form1.Canvas.moveto(10, 200);
  Form1.Canvas.lineto(10, 10);
  Form1.Canvas.moveto(10, 200);
  Form1.canvas.lineto(300, 200);
  Form1.Canvas.MoveTo(mas[1, 1], 200-mas[1, 2]);
  //рисование самого графика
  for i := 1 to 10 do
    Form1.Canvas.LineTo(mas[i, 1], 200-mas[i, 2]);
end;
вся фишка в том, чтобы "правильно" заполнить массив величин и правильно подобрать коэффициенты для вывода...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 13.12.2009, 10:30   #12
Chertenok666
Пользователь
 
Регистрация: 14.11.2009
Сообщений: 19
По умолчанию

А что значит "правтльно" заполнить массив и подобрать коэффициенты?
Chertenok666 вне форума Ответить с цитированием
Старый 13.12.2009, 10:36   #13
IT-man
АльTRUEи$т
Форумчанин
 
Аватар для IT-man
 
Регистрация: 19.03.2009
Сообщений: 784
По умолчанию

Цитата:
правтльно" заполнить массив
Значит найти правильную зависимость температуры от времени при охлаждении стали.
для этого,если я правильно помню курс материаловедения, нужна скорость охлаждения стали при заданных условиях!
Цитата:
подобрать коэффициенты
Подобрать такой масштаб вывода графика, чтобы кривая выглядела не сжатой и не растянутой- а именно такой какой и должна быть!
есть вот такая прожка на паскале правда для стали ХВГ да еще и подвергнутой лазерному воздействию но расчет температуры и скорости охлаждения там есть!
Код:
program m2crw;
label 3;
{Ввод исходных параметров}
const A=0.3; {коэффициент поглащения ЛИ}
Rb=0.2; {радиус пятна ЛВ/(cm)}
I0=6.0; {Энергия в импульсе/(ДЖ)}
Td=1.0e-3; {Длительность ЛВ/(с)}
d=0.3; l=0.55; h=0.45; {размеры образца/(см)}
C=0.218; {теплоемкость стали ХВГ/(кал/г*град)}
Hd=0.07; {теплопроводнсть стали ХВГ/(кал/с*град*см)}
R0=7.66; {плотность стали ХВГ/(г/см3)}
Ac1=720.0; Ac3=940.0; Mn=210.0; {реперные температуры стали ХВГ/(град)}
Pi=3.1415;
var x,t,s1,s2,tmp,speed,ah,s :real;
fp1 :text;
{имя файла для записи результатов расчета}
{Подпрограмма расчета интеграла дополнительной функции ошибок}
function ierfc(Uu:real):real;
begin
ierfc:=exp(-sqr(Uu))/sqrt(Pi)-Uu*erfc(Uu);
end; {ierfc}
{Подпрограмма расчета температуры на стадии охлаждения /уравнение 4/}
function Tempr(Xu,Tu:real):real;
label 1;
var e1,e2,e3 :real;
begin
e1:=0.5*Xu/s2;
if Tu=Td then begin
Tempr:=2.0*s1*s2*ierfc(e1); goto 1; end;
e2:=sqrt(ah*(Tu-Td)); e3:=0.5*Xu/e2;
Tempr:=2.0*s1*(s2*ierfc(e1)-e2*ierfc(e3));
1:end;{Tempr}
{Подпрограмма расчета скоростей охлаждения /уравнение 5/}
function Vel(Xu,Tu:real):real;
label 2;
var w1,w2,w3,w4,w5,w6,w7 :real;
begin
w1:=sqrt(ah/Td); w2:=0.5*Xu/s2; w3:=0.5*Xu/Td;
if Tu=Td then begin
Vel:=s1*(w1*ierfc(w2)+w3*erfc(w2)); goto 2; end;
w4:=sqrt(ah/(Tu-Td)); w5:=0.5*Xu/(Tu-Td); w6:=sqrt(ah*(Tu-Td)); w7:=0.5*Xu/w6;
Vel:=s1*(w1*ierfc(w2)+w3*erfc(w2)-w4*ierfc(w7)-w5*erfc(w7));
2:end; {Vel}
Begin {Основная программа}
Writeln('Simulation of the one dimensional heat-field from the');
Writeln('normal impulse laser beam laser beam and cooling velocities');
Writeln('on the cooling stage in the steel');
Assign(fp1,'Rezalts.dat'); Rewrite(fp1);
{Открывается файл записи результатов расчета}
s:=Pi*sqr(Rb); s1:=A*I0/(Td*s*Hd*4.18); ah:=Hd/(R0*c); s2:=sqrt(ah*Td);
x:=0.0;
while x<=h do {Цикл по пространственной координате Х}
begin
t:=Td;
repeat {Цикл по временной координате Т}
tmp:=Tempr(x,t);
speed:=Vel(x,t);
Writeln(fp1,x:12,t:12,tmp:12,speed:12); {Запись в файл результатов}
if abs(speed)<200.0 then goto 3;
t:=t+Td; {Шаг по временной координате задан равным длит-ти ЛВ}
until tmp<=Mn;
3:x:=x+1.e-3; {Шаг по координате Х задан равным 10 мкм}
end;{по Х}
Close(fp1);
end.
Цитата:
«Никто не войдет в Рай, имея хотя бы крупицу гордыни в своем сердце». «Аллах Красив и любит красоту. Гордыня означает отказ от истины и высокомерие»

Последний раз редактировалось IT-man; 13.12.2009 в 11:05.
IT-man вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание компонента Delphi 7 alex_triton Помощь студентам 12 08.10.2009 09:45
Создание паролей в Delphi RockForr Общие вопросы Delphi 40 29.04.2009 19:35
Создание плеера в Delphi Silent_Hell Помощь студентам 1 29.04.2009 13:44
Создание тестов в Delphi Selena БД в Delphi 4 27.10.2007 23:33