Форум: "Начинающим";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];
ВнизОпять Мемо!!! Найти похожие ветки
← →
inkvizitor © (2007-02-01 13:24) [0]Всем доброго времени суток!
procedure TForm1.Button2Click(Sender: TObject);
var m,i,j,P,q,pp,a,b:longint;
W_a_b,delta_T,Ti:real;
Tmp,StrReal:ansistring;
X:array of TLine;
begin
m:=memo1.Lines.Count;
if m=0 then
begin
showmessage("нет данных!!!");
exit;
end;
{разделение строки на 2 столбца Time и Value здесь проблем нет
(код не мой)}
for i:=0 to Memo1.Lines.Count-1 do
begin
Tmp:=Trim(Memo1.Lines[i]);
P:=Pos(" ",Tmp)-1; if P=-1 then P:=Pos(#9,Tmp)-1;
StrReal:=Copy(Tmp,1,P); Delete(Tmp,1,P); Tmp:=Trim(Tmp);
Tmp:=GetNormal(Tmp); StrReal:=GetNormal(StrReal);
P:=Length(X); SetLength(X,P+1);
X[P].Time:=StrToFloat(StrReal); X[P].Value:=StrToFloat(Tmp);
end;
{здесь проблемы (мой код )}
j:=1;
a:=2;
pp:=trunc(ln(m)/ln(2));
W_a_b:=0;
for a:= 2 to trunc(exp((pp)*ln(2))) do
begin
for b:=0 to m-1 do
begin
delta_T:=X[2].time-X[1].time;
Ti:=(b+1-1)*delta_T;
W_a_b:=W_a_b+sqrt(delta_T/a)*X[b].value*(1-Ti*Ti)*exp(-Ti*Ti/2)*((Ti-b)/a)*delta_T;
end;
memo2.Lines.Add(floattostr(j)+#9+floattostr(W_a_b));
inc(j);
end;
end;
проблема 1 надо чтобы 1-й цикл суммировался не подряд , а
a:=2,4,8,16,32,64,128,256,... вообщем был кратным, а у меня суммирует подряд как это существить?
пробовал через inc( ), но не получается.
проблема 2 результат надо вывести в мемо2 след. образом:
b a=2 a=4 a=8 a=16 a=32 ....
1 *** *** *** *** *** ...
2 *** *** *** *** *** ....
3 *** *** *** *** *** ....
.. .... ..... .... ..... ..... ....
вообщем в табличном виде. ОЧ. надо.SOS!!!
← →
Desdechado © (2007-02-01 13:26) [1]> чтобы 1-й цикл суммировался не подряд , а a:=2,4,8,16,32,64,128,256,...
что-то я там A не вижу в принципе:for i:=0 to Memo1.Lines.Count-1 do
← →
Elen © (2007-02-01 13:35) [2]
> inkvizitor
Чтоб цикл имел шаг можно использовать while.
А какая задача то?
← →
inkvizitor © (2007-02-01 14:19) [3]
> for a:= 2 to trunc(exp((pp)*ln(2))) do
вот цикл а
> for i:=0 to Memo1.Lines.Count-1 do
это я рарезал строку на два столбца и все.
> Чтоб цикл имел шаг можно использовать while.
не знаю но я ставил while вместо for a:=2 to .. но прога считает что то без остановки.
Задача посчитать вейвлет анализ (физика)
загнать текстов. файл(*.txt) из двух столбцов и посчитать по формуле.
результат: например 100 строк в мемо1 - надо посчитать по формуле :
надо брать a = 2,4,8,16,32,64. 128 не подходит т.к. 128 >100
b = 1...100
результат
> b a=2 a=4 a=8 a=16 a=32 ....
> 1 *** *** *** *** *** ...
> 2 *** *** *** *** *** ....
> 3 *** *** *** *** *** ....
> .. .... ..... .... ..... ..... ....
← →
Сергей М. © (2007-02-01 14:26) [4]
> Задача посчитать вейвлет анализ (физика)
Это тебе будет стоить примерно столько же, сколько и посчитать любой другой анализ, например, проктологический)
← →
Elen © (2007-02-01 14:29) [5]
> не знаю но я ставил while
А приращение тоже ставил? типаwhile i<100 do begin ..... inc(i,2); end;
где 2 - шаг
Кстати если не трудно для меня, особо непонятливой, что за вейвлет анализ такой?
← →
inkvizitor © (2007-02-01 14:44) [6]
> Elen © (01.02.07 14:29) [5]
типа inc(i,2) нет, там шаг 2 и все а мне надо 2 в степени ... чтобы 2,4,8,16...
> для меня, особо непонятливой
это анализ временных рядов (например фурье анализ наверно слышала ?)
> например, проктологический)
не знаю этим не страдаю поэтому не в курсе скока стоит анализ.
← →
Elen © (2007-02-01 14:58) [7]
> а мне надо 2 в степени ... чтобы 2,4,8,16...
Ну :r:=1; while (1 shl r)<100 do begin ListBox1.Items.Append(inttostr(1 shl r)); inc(r); end;
← →
Desdechado © (2007-02-01 15:17) [8]> типа inc(i,2) нет, там шаг 2 и все а мне надо 2 в степени ... чтобы 2,4,8,16...
вместо 2 поставь "2 в степени"
← →
inkvizitor © (2007-02-01 15:42) [9]
> r:=1; while (1 shl r)<100 do begin ListBox1.Items.Append(inttostr(1
> shl r)); inc(r); end;
к сожалению не работает я вставлял вместо цикла с а
и вывод и в мемо и в листбокс результат ноль. не пойму???
> вместо 2 поставь "2 в степени"
inc(a,trunc(exp(j)*ln(2))); см. код.(j увеличивается на 1. на 2 - 2 в степени .., а - увеличение величины а).
← →
Elen © (2007-02-01 15:52) [10]
> inkvizitor
Что-то мне подсказывает что тебе код в [0] надо в топку. Помоему можно переделать в попроще. Если конечно задачу объясниш поподробнее ;)
← →
Сергей М. © (2007-02-01 15:56) [11]
> Elen © (01.02.07 15:52) [10]
>
>
Вляпалась таки)
А ведь знамение было !!)
← →
Elen © (2007-02-01 16:00) [12]
> Вляпалась таки)
Куда?
> А ведь знамение было !!)
Где?
← →
Сергей М. © (2007-02-01 16:06) [13]
> Elen
Я сожалею)
А ведь барышня ты далеко не глупая) .. imho
← →
inkvizitor © (2007-02-01 16:07) [14]
> Elen © (01.02.07 15:52) [10]
возможно в топку, но довольствуюсь тем что сотворил ,хотя не спорю можно и проще. но я уже долго бьюсь над этим уже крыша едет!!!
Задачу прям таки в двух словах не объяснишь если не против напиши письмо на ящик мне и я тебе вышлю подробное задание.(заоодно и узнаешь что такое вейвлет АНАЛИЗ). ОК?
← →
Elen © (2007-02-01 16:15) [15]
> ОК?
У меня нет мыла и доступа к нему нет. Мое мнение тебе лучше подумать о том как бы начать сначала, по-своему и попроще...
> Сергей М.
Не прикалывайся. Я знаю сколько знаю. И еще я знаю что любую задачу можно максимально упростить, тем более данную.
← →
Anatoly Podgoretsky © (2007-02-01 19:39) [16]> Elen (01.02.2007 13:35:02) [2]
Не можно, а нужно.
← →
Anatoly Podgoretsky © (2007-02-01 19:40) [17]> inkvizitor (01.02.2007 16:07:14) [14]
Подожди, подожди, если довольствуешься, то в чем вопрос.
← →
Anatoly Podgoretsky © (2007-02-01 19:41) [18]> Elen (01.02.2007 16:15:15) [15]
> Я знаю сколько знаю.
Продолжи до конца.
← →
Elen © (2007-02-02 08:06) [19]
> Anatoly Podgoretsky
Опять конец на повестке дня? Ну все это конец! :)
← →
Anatoly Podgoretsky © (2007-02-02 08:37) [20]> Elen (02.02.2007 08:06:19) [19]
Оптимисты говоряет, что бывает и длиннее.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.052 c