Формула за преобразуване за заглавие на обект, за да съответства на стойност, която имам в int?

Имам списък със заглавия на елементи, които са в INTEGER (да, заглавието е от 0 до 120 int) стойност, но когато ги чета, всички те са в float, така че между тях се извършва преобразуване, за което не знам (кодът не е отворен, така че не мога да го проверя сам, но трябва да актуализирам xml и за това трябва да знам как да го конвертирам).

  • Това, което исках да разбера тук, е какъв вид преобразуване трябва да направя, за да извадя от float съвпадащ int за него като примерите OBJECT A и B.

Първият пример е ОБЕКТ А, който има плаващо заглавие 57, но има вътрешно заглавие 109. Вторият пример е ОБЕКТ Б, който има плаващо заглавие 168, но има вътрешно заглавие 26.

Плаващият е от 0 до 360, а int е от 0 до 120.

Първоначално мислех за радиани, но има 2 несъответствия, първо е, че ОБЕКТ А е 57 с int 109, така че няма да мога да приложа формула за преобразуване към него, вярвам, второ е, че ако не греша, радианите са до 180.

Наистина съм заинтригуван да разбера защо има това цяло число, представляващо степен и как се преобразува в такава...

PS: Между другото, публикувах това първо в математиката, преди да публикувам тук, но те поискаха, че ще бъде по-подходящо тук.

АКТУАЛИЗИРАНЕ С ПОВЕЧЕ ОБРАЗЦИ:

 F    I
168   26
 57  109
180   30
165   25
 45  105
  0   90
318   99
348   86
240   50
204   38
345   85

F за Float I за INT


person Prix    schedule 21.11.2010    source източник
comment
Радианите достигат до 2*pi (или от -pi до +pi).   -  person Ignacio Vazquez-Abrams    schedule 22.11.2010
comment
благодаря за коригирането на това, но въпреки това няма да бъде ограничено от 0 до 120, така че вярвам, че може да бъде изключено.   -  person Prix    schedule 22.11.2010
comment
пост ОЩЕ ЕДИН пример. Ако има линейна функция, е необходима още една точка за проверка на резултата   -  person Dr. belisarius    schedule 22.11.2010
comment
актуализиран с още няколко проби   -  person Prix    schedule 22.11.2010


Отговори (1)


Добре. Вашите координатни системи са завъртяни на 90 градуса, а 120 съвпада с 360.

Вашата функция е:

f[x_] := 3 Mod[x - 90, 120];

Сюжет

ListPlot[{kk, Table[{i[[1]], f[i[[1]]]}, {i, kk}]}, PlotMarkers -> {"X", "O"}]

алтернативен текст

Всички точки са наред, с изключение на последната.

person Dr. belisarius    schedule 21.11.2010
comment
Първо благодаря, че отделихте време да ми помогнете с +1. Всички проби се използват и в момента работят. Не знам защо последният е грешен, но не е единственият със стойност над 180 или 300, мога да публикувам повече проби, ако искате, плаващото варира от 0 до 360 градуса. - person Prix; 22.11.2010
comment
@Prix Няма за какво. Публикувайте ги и да видим дали можем да разберем какво се случва там ... - person Dr. belisarius; 22.11.2010
comment
@Prix Искам да кажа, че последната ви проба е единствената, която не работи с горната формула - person Dr. belisarius; 22.11.2010
comment
@belisarius добави още няколко проби, изглежда, че тази стойност наистина е грешна за преобразуване от плаващото число, което имам, но всички останали са 100% добре, след като публикувахте формулата си. Получих и това (float/3) - 30 ако е отрицателно result +120 - person Prix; 22.11.2010
comment
@Prix, да. единственото отклонение е това. Изглежда формулата вече е правилна. - person Dr. belisarius; 22.11.2010
comment
@Prix Това не беше тривиално и имахте една лоша точка. Радвам се да помогна! - person Dr. belisarius; 22.11.2010
comment
@belisarius, да, знам, че това беше неразумна молба... Иска ми се да имах по-добри познания по математика или повече време да я науча... още веднъж благодаря и това наистина беше лоша точка :) всички останали точки получих над 200, 300 работи добре. - person Prix; 22.11.2010