Вверх ↑
Этот топик читают: Гость
Этот топик был перемещен из раздела "Помощь по среде"
Ответов: 32
Рейтинг: 0
#1: 2021-03-29 19:47:59 ЛС | профиль | цитата
Файл с двумя столбцами.
В первом столбце файла – время
Во втором – параметр
--------------------------------------
Как загрузить файл и построить график
по оси Х - время (время может быть и отрицательным
по оси Y – параметр
точек в графике должно быть столько, сколько в файле строк
карма: 0

0
Ответов: 32
Рейтинг: 0
#2: 2021-03-29 21:26:08 ЛС | профиль | цитата
Если загрузку файла планирую сделать так

Add(Button,11310507,511,154)
{
Left=20
Top=40
Width=125
Height=70
Caption="Загрузить файл"
link(onClick,8881608:doExecute,[])
}
Add(ODialog,8881608,595,154)
{
Filter="All|*.csv*"
Point(doStartDir)
link(onExecute,961341:doLoad,[])
}
Add(StringTable,961341,763,133)
{
Left=190
Top=35
Width=295
Height=170
}


то как теперь загрузить в график - не найду пока
карма: 0

0
Ответов: 168
Рейтинг: 7
#3: 2021-03-29 21:43:41 ЛС | профиль | цитата
А что випы не захотели? из купи/продай?
Дай с десяток строк своего csv мож и помогу.это текстовый файл но формат может быть самый разнообразный.
карма: 1

0
Ответов: 8921
Рейтинг: 823
#4: 2021-03-29 21:47:54 ЛС | профиль | цитата
konsys, специально для вас https://forum.hiasm.com/post/308750
карма: 19

0
Ответов: 32
Рейтинг: 0
#5: 2021-03-29 22:04:38 ЛС | профиль | цитата
flash1103 писал(а):
flash1103 А что випы не захотели? из купи/продай?

Випы не захотели - я и сейчас готов оплатить,
тем более что теперь имею более понятное ТЗ

Леонид писал(а):
konsys, специально для вас https://forum.hiasm.com/post/308750

Леонид. - я посмотрел, решение Специально для меня красиво, но как к моей проблеме пристегнуть пока не знаю.
Я не прогер - я дизайнер (хороший и опытный)

Что касается того, что мне надо в итоге

1) загрузка файла из CSV около и более 30000 строк -
2) вывод графика
3) корреляция I++1
4) вывод графика по коэффициентам корреляции
5) вывод спектра оригинального сигнала

архив с файлом и допами https://disk.yandex.ru/d/0TrGijtQkG94BA

--- Добавлено в 2021-03-29 22:49:10

Леонид писал(а):
специально для вас

тут конечно нагородил, а как Вы отделяете из списка Х и У
-------------
Add(Button,11310507,329,154)
{
Left=20
Top=40
Width=125
Height=70
Caption="Загрузить файл"
link(onClick,2487773:doEvent1,[])
}
Add(ODialog,8881608,546,154)
{
Filter="All|*.csv*"
Point(doStartDir)
link(onExecute,961341:doLoad,[(625,160)(625,111)])
}
Add(StringTable,961341,672,84)
{
Left=190
Top=35
Width=295
Height=170
}
Add(Plotter,12184612,868,140)
{
Left=505
Top=35
Width=300
Height=170
Name="main"
}
Add(StrList,6493107,770,175)
{
link(Str,961341:Select,[(776,149)(685,149)])
}
Add(Hub,6715567,476,238)
{
OutCount=4
link(onEvent1,6493107:doClear,[(630,244)(630,188)])
link(onEvent3,3276927:doClear,[(816,258)(816,356)])
link(onEvent4,2649262:doFor,[(500,265)(500,314)])
}
Add(For,2649262,511,308)
{
End=1024
IncludeEnd=1
link(onEvent,6493107:doAdd,[(663,314)(663,181)])
link(onStop,1163512:doEnum,[(676,321)(676,349)])
link(End,961341:Count,[(524,240)(678,240)])
}
Add(Timer,9651421,413,189)
{
Interval=100
Enable=1
AutoStop=1
link(onTimer,6715567:doEvent1,[(506,195)(506,223)(464,223)(464,244)])
}
Add(ArrayEnum,1163512,770,343)
{
link(onItem,3276927:doAdd,[])
link(Array,6493107:Array,[(776,285)(790,285)])
}
Add(PlotLines,3276927,868,343)
{
Grapher="main"
link(ValueX,1163512:Index,[(881,334)(825,334)(825,383)(783,383)])
}
Add(Hub,2487773,378,154)
{
link(onEvent1,8881608:doExecute,[])
link(onEvent2,9651421:doTimer,[(399,167)(399,195)])
}


Редактировалось 5 раз(а), последний 2021-03-29 22:50:36
карма: 0

0
Ответов: 8921
Рейтинг: 823
#6: 2021-03-30 11:00:17 ЛС | профиль | цитата
konsys писал(а):
как Вы отделяете из списка Х и У

В ваших примерах для разделения данных применён "пробел", аж по шесть шт
В HшAsm принят разделитель "точка с запятой". вот схема для удаления пробелов и установки ";"
После форматирования при выборе строки данные разделяются по ";"
Форматирование


Add(MainForm,2953706,77,49)
{
Caption="Форматирование"
}
Add(Button,7691444,126,133)
{
Left=5
Top=40
Width=105
Caption="Форматировать"
link(onClick,7288359:doEvent1,[])
}
Add(ListBox,3451908,420,77)
{
Left=115
Top=5
Width=225
Height=220
DataType=1
Point(doSave)
link(onClick,1896536:doSplit,[])
}
Add(Button,6472475,126,49)
{
Left=5
Top=10
Width=105
Caption="Открыть"
link(onClick,3095066:doExecute,[])
}
Add(Button,850719,126,238)
{
Left=5
Top=200
Width=105
Caption="Сохранить как"
link(onClick,6294155:doExecute,[])
}
Add(ODialog,3095066,175,49)
{
Filter="TXT|*.txt"
link(onExecute,13432448:doEvent1,[])
}
Add(StrList,1296245,273,35)
{
}
Add(Hub,13432448,224,49)
{
link(onEvent1,1296245:doLoad,[(263,55)(263,69)])
link(onEvent2,11144969:doData,[(249,62)(249,104)])
}
Add(DoData,11144969,273,98)
{
link(onEventData,7597415:doWork2,[])
link(Data,1296245:Text,[])
}
Add(Trim,3587165,266,147)
{
Char=" "
Mode=7
link(onTrim,5774719:doReplace,[])
}
Add(HubEx,7597415,399,98)
{
link(onEvent,3451908:doText,[])
}
Add(Replace,5774719,315,147)
{
SubStr=" "
DestStr=";"
link(onReplace,1378797:doAdd,[])
}
Add(MultiStrData,1896536,469,84)
{
link(onPart1,5261645:doText,[(508,90)(508,62)])
link(onPart2,1457644:doText,[(515,97)(515,111)])
}
Add(SDialog,6294155,175,238)
{
link(onExecute,3451908:doSave,[(410,244)(410,111)])
}
Add(Edit,5261645,525,56)
{
Left=120
Top=230
Width=100
}
Add(Edit,1457644,525,105)
{
Left=230
Top=230
Width=105
}
Add(ArrayEnum,5307176,217,147)
{
link(onItem,3587165:doTrim,[])
link(onEndEnum,3268470:doEvent1,[(256,160)(256,209)])
link(Array,1296245:Array,[(223,89)(293,89)])
}
Add(StrList,1378797,364,147)
{
}
Add(DoData,2121467,364,203)
{
link(onEventData,7597415:doWork3,[(403,209)])
link(Data,1378797:Text,[])
}
Add(Hub,7288359,175,133)
{
link(onEvent1,4802883:doWork1,[(354,139)])
link(onEvent2,5307176:doEnum,[(207,146)(207,153)])
}
Add(Hub,3268470,308,203)
{
link(onEvent1,2121467:doData,[])
link(onEvent2,4802883:doWork3,[(354,216)])
}
Add(HubEx,4802883,350,154)
{
link(onEvent,1378797:doClear,[])
}

Вообще-то задание не совсем правильно -- использовать "самокорреляцию" можно , если в массиве имеется повторяющиеся фрагменты, но если массив большой и перебирать миллион строк с единичным шагом никакого терпения не хватит
В ТЗ ясно указано -- поиск заданного сигнала в зашумлённом массиве, что я и выложил ранее, благо заготовка была.
карма: 19

0
Ответов: 783
Рейтинг: 168
#7: 2021-03-30 11:19:34 ЛС | профиль | цитата
konsys, по тем данным что ты выкладывал здесь - https://disk.yandex.ru/d/0TrGijtQkG94BA
пункт - "2) вывод графика" выглядит как-то так. Подождать придётся.


Add(MainForm,5423394,119,63)
{
Width=1073
Height=312
Caption="Linear graph"
}
Add(Plotter,11338811,119,126)
{
Width=1057
Height=261
Align=5
Name="g1"
GridX=50
}
Add(PlotPoints,13221991,462,182)
{
Grapher="g1"
Name="test"
link(ValueY,2324210:Part1,[])
link(ValueX,2324210:Part2,[])
}
Add(DropFile,11451715,280,70)
{
link(onDropFile,6160664:doWork1,[(333,76)])
}
Add(SearchInFile,8226956,343,119)
{
link(onSearch,2308162:doEvent1,[])
}
Add(MultiStrPart,2324210,462,126)
{
Direct=1
}
Add(Hub,2308162,399,126)
{
link(onEvent1,2324210:doSplit,[])
link(onEvent2,13221991:doAdd,[(452,139)(452,188)])
}
Add(Menu,6069516,224,112)
{
Menu=#14:Загрузить файл|
Point(onSelectNum)
link(onSelectNum,8954181:doExecute,[])
}
Add(HubEx,6160664,329,119)
{
link(onEvent,8226956:doSearch,[])
}
Add(ODialog,8954181,280,119)
{
link(onExecute,6160664:doWork2,[])
}

По остальному, полностью согласен с Леонидом
карма: 15

0
Ответов: 32
Рейтинг: 0
#8: 2021-03-30 18:48:50 ЛС | профиль | цитата
Леонид писал(а):

В ТЗ ясно указано -- поиск заданного сигнала в зашумлённом массиве, что я и выложил ранее, благо заготовка была.

Написал в личку

Gunta писал(а):
вывод графика" выглядит как-то так. Подождать придётся.

Спасибо, попробую
карма: 0

0
Ответов: 32
Рейтинг: 0
#9: 2021-03-30 20:01:48 ЛС | профиль | цитата
Gunta писал(а):
вывод графика" выглядит как-то так. Подождать придётся.

График не строит, что не так?
карма: 0

0
Ответов: 783
Рейтинг: 168
#10: 2021-03-30 20:33:56 ЛС | профиль | цитата
konsys писал(а):
График не строит, что не так?

Не знаю. У меня всё строится. Загружаю твой файл - ГДНбcsvsd.csv
Жду около минуты и...
график.PNG
Можно колёсиком мышки приближать-отдалять.

Редактировалось 1 раз(а), последний 2021-03-30 20:35:24
карма: 15

0
Ответов: 32
Рейтинг: 0
#11: 2021-03-30 20:58:11 ЛС | профиль | цитата
Gunta писал(а):

У меня всё строится. Загружаю твой файл - ГДНбcsvsd.csv
Жду около минуты и...
график.PNG
Можно колёсиком мышки приближать-отдалять.


ТОчно. Все строит - странно - почему ранее не строило

карма: 0

0
Ответов: 168
Рейтинг: 7
#12: 2021-03-30 22:04:09 ЛС | профиль | цитата
Ну да это все понятно,график понятно,я споткнулся о слова топикстартера что прога должна корелляцию искать,а здесь относительно чего искать?относительно потолка?скачать с яндекса ничего не могу
мож т.с. скинет мне в личку тех задание.
карма: 1

0
Ответов: 32
Рейтинг: 0
#13: 2021-03-30 22:14:13 ЛС | профиль | цитата
flash1103 писал(а):
Ну да это все понятно,график понятно,я споткнулся о слова топикстартера что прога должна корелляцию искать,а здесь относительно чего искать?относительно потолка?скачать с яндекса ничего не могу
мож т.с. скинет мне в личку тех задание.


Зачем в личку, если ссылка на архив с ТЗ и исходниками выше выложена
https://disk.yandex.ru/d/0TrGijtQkG94BA

Редактировалось 1 раз(а), последний 2021-03-30 22:16:32
карма: 0

0
Ответов: 2059
Рейтинг: 132
#14: 2021-03-30 23:48:10 ЛС | профиль | цитата
konsys писал(а):
Зачем в личку, если ссылка на архив с ТЗ и исходниками выше выложена

Не во всех странах disk.yandex.ru работает.

Редактировалось 1 раз(а), последний 2021-03-30 23:48:55
карма: 6

0
Ответов: 32
Рейтинг: 0
#15: 2021-03-31 00:04:37 ЛС | профиль | цитата
flint2 писал(а):

Не во всех странах disk.yandex.ru работает.

Простите не подумал.
написал в личку ссылку
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)