Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2021, 08:03   #1
Fazli
 
Регистрация: 30.01.2021
Сообщений: 9
По умолчанию Закодировать дату рождения

Доброго времени суток! Задание заключается в следующем нужно закодировать дату рождения. Вот эту:10.09.1998г. Не могу понять как придумать формулу для расчета и какие значения нужно взять. Примеры приложил. Matlab

Код:
for n=1:8
f(n)=my_fun_name(n)
end
function v = my_fun_name(n)
% 01.12.2457
v = n - 0.9 - 2*sin(pi*(1 - abs(n/5 - 1))/2).^5
end
Код:
f =
 
    0.0944    0.9597    1.4069    1.5438    2.1000    3.5438    5.4069    6.9597
Код:
for x=1:8
          p1 =       1.427;
       p2 =       -24.1;
       p3 =       134.5;
       p4 =      -281.7;
       p5 =       169.9;
       q1 =       -15.5;
       q2 =       72.62;
       q3 =      -97.64;
       f(x) = (p1*x^4 + p2*x^3 + p3*x^2 + p4*x + p5)/(x^3 + q1*x^2 + q2*x + q3)
      end
f =

0.0944 0.9597 1.4069 2.0376 1.1064 8.8031 8.8919 9.0639
Fazli вне форума Ответить с цитированием
Старый 24.03.2021, 12:28   #2
сфинкс
Форумчанин
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 957
По умолчанию

ответ наобум:

в примере "% 01.12.2457"
заменить на "% 10.09.1998"

проверить не могу и онлайн проверки не знаю
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую
сфинкс вне форума Ответить с цитированием
Старый 24.03.2021, 12:35   #3
Fazli
 
Регистрация: 30.01.2021
Сообщений: 9
По умолчанию

сфинкс,
Код:
 f =

   -0.1910    0.3090    0.6910    1.1910    2.0000    3.1910    4.6910    6.3090
Fazli вне форума Ответить с цитированием
Старый 25.03.2021, 13:53   #4
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

возведи каждое число в квадрат. 03.04.1998 ---> 9.16.3992004
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 25.03.2021, 14:23   #5
Алексей1153
фрилансер
Форумчанин
 
Регистрация: 11.10.2019
Сообщений: 965
По умолчанию

Цитата:
Сообщение от NetSpace Посмотреть сообщение
03.04.1998 ---> 9ы16ы3992004
чтоб никто не догадался (c)
Алексей1153 вне форума Ответить с цитированием
Старый 25.03.2021, 15:24   #6
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Как придумать "красивую" формулу, как в 1 примере, не знаю. 2 пример явно намекает на интерполяционный многочлен Лагранжа или интерполяционные формулы Ньютона. У вас есть точки (1, 1), (2, 0), (3, 0), (4, 9), (5, 1), (6, 9), (7, 9), (8, 8) - нужно найти функцию, проходящую через них.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Старый 25.03.2021, 18:19   #7
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

Цитата:
Сообщение от Алексей1153 Посмотреть сообщение
чтоб никто не догадался (c)
и циклично переставить знаки на 5 позиций
9.16.3992004 ----->20049.16.399
уже сложнее будут народу
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.

Последний раз редактировалось NetSpace; 25.03.2021 в 18:22.
NetSpace вне форума Ответить с цитированием
Старый 26.03.2021, 06:11   #8
Fazli
 
Регистрация: 30.01.2021
Сообщений: 9
По умолчанию

BDA, Не знаю как это реализовать в Matlab.
Изображения
Тип файла: png р.PNG (31.7 Кб, 27 просмотров)
Fazli вне форума Ответить с цитированием
Старый 26.03.2021, 06:33   #9
Fazli
 
Регистрация: 30.01.2021
Сообщений: 9
По умолчанию

Выдал такое, но все равно не правильно.
Код:
for x=1:8
f(x)= ((59*x^7)/720)-((1861*x^6)/720)+((4789*x^5)/144)+((32321*x^4)/144)+((76447*x^3)/90)-((640427*x^2)/360)+((7513*x)/4)-754
end
f =

1.0e+06 *

0.0004 0.0072 0.0364 0.1149 0.2806 0.5818 1.0778 1.8387
Fazli вне форума Ответить с цитированием
Старый 26.03.2021, 13:28   #10
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Перед 32321 нужно минус, а не плюс.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не получается вывести дату рождения Alexmur07 Общие вопросы по Java, Java SE, Kotlin 1 16.10.2017 20:04
Преобразовать цифры ИИН в дату рождения№ Сырым Microsoft Office Excel 7 05.07.2016 08:48
Не правильно считает дату рождения Keitlin Помощь студентам 6 17.12.2014 06:39
Рассчитать дату рождения DIMASIKXXX32 БД в Delphi 5 24.01.2013 11:40
Как в профиле изменить дату рождения? Cj_ О форуме и сайтах клуба 2 16.11.2009 17:08