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

У меня есть список заголовков элементов, которые все имеют значение INTEGER (да, заголовок от 0 до 120 int), но когда я их читаю, все они находятся в плавающем состоянии, поэтому между ними выполняется преобразование, о котором я не знаю (код не открыт, поэтому я не могу проверить его сам, но мне нужно обновить xml, а для этого я должен знать, как его конвертировать).

  • Что я хотел выяснить здесь, так это то, какое преобразование мне нужно сделать, чтобы получить из числа с плавающей запятой соответствующее целое число для него, как в примерах OBJECT A и B.

Первый пример — ОБЪЕКТ A с плавающим заголовком 57, но с заголовком int 109. Второй пример — ОБЪЕКТ B с плавающим заголовком 168, но с заголовком int 26.

Плавающее — от 0 до 360, а целое — от 0 до 120.

Первоначально я думал о радианах, но есть 2 несоответствия: во-первых, ОБЪЕКТ A равен 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)


Ok. Ваши системы координат повернуты на 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
@Прикс, да. единственный выброс это тот. Кажется, теперь формула верна. - person Dr. belisarius; 22.11.2010
comment
@Prix Это было не тривиально, и у тебя был один плохой момент. Рад помочь! - person Dr. belisarius; 22.11.2010
comment
@belisarius, да, я знаю, что это была необоснованная просьба ... Хотел бы я лучше знать математику или больше времени, чтобы изучить ее ... еще раз спасибо, и действительно, это был плохой вопрос :) все остальные баллы, которые я получил выше 200, 300 работало нормально. - person Prix; 22.11.2010