16:30 

Составить функцию

Суть задачи в следующем - есть полоса длиной в 5 клеток (в общем случае `N` клеток), нумерация клеток идет последовательно с нуля (0,1,2,3,4), на последней клетке (4) стоит шашка, которая начинает прыгать по краям, на прошлые места она не возвращается, то есть она прыгает 4 - 0 - 3 - 1 - 2. Мне надо составить функцию такого передвижения, то есть такую функцию `f(x)`, что `f(4) = 0`, `f(0) = 3`, `f(3) = 1`. Как это можно сделать? Сижу где-то час мыслей вообще нет. Скажем для трёх, начиная с нуля `(x+1)^2` будет.

p.s. Собственно придумалось такое из программирования вместо for(i = 0; i < N; i++) записать что-то поинтереснее захотелось for(i = N, j = 0; j < N; хитрое выражение с i, j++)

@темы: Математический анализ

Комментарии
2017-01-14 в 20:27 

Извиняюсь, с (x+1)^2 некорректно написал. Я перевел это графически на сетку NxN и по точкам с целочисленными координатами попытался составить функции, а потом посмотреть какое движение они задают, но кроме очевидных x+1 и параболы ничего не придумалось. Если N увеличить на 1 и рассматривать указанное выше движение, то функция вроде бы поднимается на единицу вверх.

2017-01-14 в 21:48 

All_ex
Эллипс - это круг, который можно вписать в квадрат 25х40
Ну, наверное можно так...

Для больших номеров получается `f(x) = N - x` ... для маленьких `f(x) = (N - 1) - x` ...

Если нарисовать график, то получим кусочно линейную функцию, которую можно задавать комбинацией линейных функций и модулей от линейных функций... :upset:

2017-01-14 в 21:59 

All_ex, не получается для маленьких, возьмем N=5, f(4)=(5-1)-4=0, f(0)=(5-1)-0=4. А я понял, нет N константа, в данном случае общее число клеток, ну или размер массива.

2017-01-14 в 22:08 

All_ex, N константа, общее число клеток (или размер массива), т.е. f(0)=4-0=4 (а мы стартовали с клетки под номером 4, а по условию мы не можем сюда возвращаться), а надо f(0)=3 при N=5. Просто кажется что выражение, точно должно быть, ведь по идее ситуация простая, равномерное стягивание к средней ячейке с правой/левой сторон...

p.s. с телефона пишу на ОС bada, ужасно всё отображается и отправляется, думал предыдущий пост не отправился.

2017-01-15 в 17:44 

All_ex
Эллипс - это круг, который можно вписать в квадрат 25х40
больших номеров ... для маленьких
Я имел ввиду `x > N/2` и `x < N/2` ... :alles:

2017-01-15 в 22:27 

All_ex
Эллипс - это круг, который можно вписать в квадрат 25х40
Если я правильно понимаю задачу, то картинка такая получилась...

Можно непрерывную функцию состряпать... или взять линейную функцию и добавить в нужном месте функцию Хевисайда...

2017-01-17 в 09:54 

All_ex, понял Вас про `x > N/2` и `x < N/2`, да что-то такое и хотелось увидеть, только почему-то представлялась "одиночная" функция, а не функция "в виде совокупности функций" :nope:
Спасибо!

2017-01-17 в 11:27 

All_ex
Эллипс - это круг, который можно вписать в квадрат 25х40
Груша Вильямс, только почему-то представлялась "одиночная" функция, а не функция "в виде совокупности функций"
её можно записывать как составную... но как я уже писал комбинация модулей даёт "одиночную функцию"... :nope:
Ну, например, для `N = 10` на картинке... `f(x) = (N - 1) - x + 1/2*(1 + |x - x_0|/(x - x_0))` ... здесь `x = [N/2] = 5`- вычисляется как целая часть...

в общем, welcome...

2017-01-19 в 14:10 

All_ex, спасибо огромное! Сессию раскидаю, попробую потом в программу прикрутить и посмотреть что получится)

2017-01-19 в 14:37 

All_ex, думаю Вы это имели ввиду `f(x) = (N - 1) - x_0 + 1/2*(1 + |x - x_0|/(x - x_0))`, тогда `f(9) = (10 - 1) - 9 + 1/2*(1 + |5 - 9|/(5 - 9)) = 0`,
`f(0) = (10 - 1) - 0 + 1/2*(1 + |5 - 0|/(5 - 0)) = 9 + 1 = 10`, а надо в восьмую клетку попасть...

2017-01-19 в 20:41 

All_ex
Эллипс - это круг, который можно вписать в квадрат 25х40
Груша Вильямс, думаю Вы это имели ввиду `f(x) = (N - 1) - x_0 + 1/2*(1 + |x - x_0|/(x - x_0))`, тогда ... - нет... я написал третье слагаемое без нуля...

`f(9) = (10 - 1) - 9 + 1/2*(1 + |5 - 9|/(5 - 9)) = 0`,`f(0) = (10 - 1) - 0 + 1/2*(1 + |5 - 0|/(5 - 0)) = 9 + 1 = 10`,
Почему Вы подставляете в дробь с переставленными слагаемыми?... должно быть `+ |9 - 5|/(9 - 5)` и `+ |0 - 5|/(0 - 5)` соответственно...

а надо в восьмую клетку попасть... - почему в восьмую?... ведь для `N = 10` последовательность `10 - 0 - 9 - 1 - 8 - 2 - 7 - 3 - 6 - 4 - 5` как собственно на картинке и нарисовано...

     

Не решается алгебра/высшая математика?.. ПОМОЖЕМ!

главная