Форум программистов, компьютерный форум, киберфорум
QBasic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/64: Рейтинг темы: голосов - 64, средняя оценка - 5.00
Регистрация: 23.10.2013
Сообщений: 5,076
Записей в блоге: 8

Как решать уравнения

16.02.2017, 13:53. Показов 13266. Ответов 66

Студворк — интернет-сервис помощи студентам
В этой теме я решил на простом примере показать, как
можно найти все корни уравнения. Пример COS(2x) = 0.5
Собственно говоря это уравнение имеет базовые корни
на интервале [0; pi]. Все остальные корни отличаются от
исходных слагаемым pi*n, где n - целое число

QBasic/QuickBASIC
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
REM
REM  COS(2x) = 0.5
REM
REM   [0; pi]
REM
REM  x = 0.52357   x = 2.61798
REM
 
DECLARE FUNCTION f! (x!)
 
CLS
CONST pi = 3.141593
h = .00005
 
f1 = f(0)
 
FOR x = h TO pi STEP h
   f2 = f(x)
   IF f1 * f2 <= 0 THEN PRINT x
   f1 = f2
NEXT
END
 
FUNCTION f (x)
   f = COS(2 * x) - .5
END FUNCTION
примечание
Идеальный код этой программы не оставит
равнодушным даже терминатора серии Т 2017.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
16.02.2017, 13:53
Ответы с готовыми решениями:

Как решать уравнения?
что означают def input data итд в бейсике? как вводить в бейсике уравнения?

Как решать уравнения?
есть уравнение A(x)=A0+(i=n E i=1)*n*cos(x*n+k) подскажите как это можно решить

Как решать тригонометрические уравнения
Есть задача,сделать проект где решаются различные ур-я.С линейными и квадратными сложностей не возникло,но вот с тригонметр.ур-ем...

66
6180 / 945 / 313
Регистрация: 25.02.2011
Сообщений: 1,381
Записей в блоге: 1
28.03.2017, 21:06
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от bedvit Посмотреть сообщение
Поиск до 1 млн. -15 мин.
Немного поправил код, скомпилировал под win64
Использовал тип ULongInt, так что теоретически можно запустить расчет до (2^64-2)^(1/3) = 2642245 (проверять не стал)
до 100000 - 5,2 сек
до 1000000 - 10 мин
так что FB обгоняет C#
Интересно PB будет быстрее считать?
Вложения
Тип файла: zip xyz64.zip (69.8 Кб, 11 просмотров)
0
6180 / 945 / 313
Регистрация: 25.02.2011
Сообщений: 1,381
Записей в блоге: 1
29.03.2017, 08:01
PS:
Цитата Сообщение от m-ch Посмотреть сообщение
так что FB обгоняет C#
эту тему видел: Оптимизация производительности C#.NET (Алгоритм, Многопоточность, Debug, Release, .Net Core, Net Native)
0
 Аватар для bedvit
1210 / 261 / 22
Регистрация: 20.05.2016
Сообщений: 1,147
Записей в блоге: 22
29.03.2017, 13:05
Запустил xyz64.exe - у меня отработал за 4,4 сек.
Скажу прямо - Неплохо! У мена на этом же ПК (рабочий, мощнее домашнего) до оптимизации С# (выдавал за 10 сек. - на NET Framework)
На .NET Core - 4,33 сек., что опять же сравнимый показатель (но здесь с переносимостью проекта вопрос).
Про Net Native (компиляцию в машинный код) говорить не будем, сейчас этот продукт узкоспециализированный (хотя и быстрее всех остальных).
С помощью форума удалось на этом же ПК (раб.) довести до 2 сек. (за счет асинхронных функций, без проверки индексов массива - небезопасный код, выноса части переменных из потоков, обращение к переменной , а не к части массива). Конечный вариант выложу на днях, в той же теме.
Возможно и ваш алгоритм можно еще оптимизировать, выложите на форуме, наверняка найдутся желающие поучаствовать в ипровизированном соревновании
Обобщая:
Тип ЦП QuadCore Intel Core i7-3770, 3700 MHz (37 x 100)
Ваш проект FB - 4,4сек. (переносимость нормальная)
С#.NET Core - 2.0 сек. (вопрос в перносимости, в той же теме)
С#.NET Framework - 5,6 сек. (переносимость нормальная)
0
 Аватар для bedvit
1210 / 261 / 22
Регистрация: 20.05.2016
Сообщений: 1,147
Записей в блоге: 22
29.03.2017, 19:04
Протестируем?
Вложения
Тип файла: rar Release.rar (8.5 Кб, 6 просмотров)
0
 Аватар для bedvit
1210 / 261 / 22
Регистрация: 20.05.2016
Сообщений: 1,147
Записей в блоге: 22
29.03.2017, 19:47
вот вариант более не привередливый к версии Framework.
Вложения
Тип файла: rar Release2.rar (3.2 Кб, 9 просмотров)
0
 Аватар для Pro_grammer
6807 / 2840 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
29.03.2017, 20:34
Цитата Сообщение от bedvit Посмотреть сообщение
более не привередливый к версии Framework.
WinXP, x86, i3-2120
результат:

результат FB


Рвет как Тузик грелку
0
 Аватар для bedvit
1210 / 261 / 22
Регистрация: 20.05.2016
Сообщений: 1,147
Записей в блоге: 22
29.03.2017, 21:54
win7x64 Core i7-3770
хм.. У меня грелка Тузика нагибает
Миниатюры
Как решать уравнения   Как решать уравнения  
0
 Аватар для bedvit
1210 / 261 / 22
Регистрация: 20.05.2016
Сообщений: 1,147
Записей в блоге: 22
29.03.2017, 22:01
Win10x64, AMD Phenom II X4 Black Edition 955, 3200 MHz
Опять Тузик нагибается
Миниатюры
Как решать уравнения   Как решать уравнения  
0
 Аватар для Pro_grammer
6807 / 2840 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
30.03.2017, 06:02
У нас разные версии для FB, я то использовал xyz.exe (x86), а у вас смотрю xyz64.exe
А результаты одинаковые, Тот же Тузик ту же грелку.
Если результат по времени написан через пробел, это ведь целая минута получается?
0
6180 / 945 / 313
Регистрация: 25.02.2011
Сообщений: 1,381
Записей в блоге: 1
30.03.2017, 19:37
Цитата Сообщение от bedvit Посмотреть сообщение
вот вариант более не привередливый к версии Framework.
FB - 5,2 сек, C# - 1,8 сек.
i7-3630QM 2.40GHz 8ГБ win8.1 x64
Миниатюры
Как решать уравнения   Как решать уравнения  
0
 Аватар для Pro_grammer
6807 / 2840 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
30.03.2017, 20:07
Цитата Сообщение от m-ch Посмотреть сообщение
C# - 1,8 сек.
А я смотрю написано 1 1,84 ну мне подумалось это значит 1 минута и 1,8 секунды
С моими скоростями расчета это вполне реальные соотношения!
А там единица просто так нарисована... На FB то нет такой единицы.
В общем я оплашал
0
 Аватар для bedvit
1210 / 261 / 22
Регистрация: 20.05.2016
Сообщений: 1,147
Записей в блоге: 22
31.03.2017, 09:40
Просто там единица осталась как рудименты от счётчика (вернее там 1 цикл только включён, было больше-10 для замера среднего) по ссылке выше от Михаила можно посмотреть.

Добавлено через 2 минуты
Частично и я ввёл в заблуждение)
0
Эксперт по электронике
7203 / 3380 / 346
Регистрация: 28.10.2011
Сообщений: 13,304
Записей в блоге: 7
31.03.2017, 12:26
Цитата Сообщение от m-ch Посмотреть сообщение
Интересно PB будет быстрее считать?
Прога в архиве
Вложения
Тип файла: zip x.zip (16.8 Кб, 11 просмотров)
0
 Аватар для bedvit
1210 / 261 / 22
Регистрация: 20.05.2016
Сообщений: 1,147
Записей в блоге: 22
31.03.2017, 15:29
Убрал рудименты
Вложения
Тип файла: rar XYZ_NET_Framework4.rar (3.2 Кб, 7 просмотров)
0
 Аватар для bedvit
1210 / 261 / 22
Регистрация: 20.05.2016
Сообщений: 1,147
Записей в блоге: 22
31.03.2017, 15:48
locm, вот последние алгоритмы для этой задачи, может поможет вам что-либо оптимизировать.
0
6180 / 945 / 313
Регистрация: 25.02.2011
Сообщений: 1,381
Записей в блоге: 1
31.03.2017, 20:46
Цитата Сообщение от locm Посмотреть сообщение
Прога в архиве
Результат на PB x64 - 5,4 сек. Сопоставимо с FB
Миниатюры
Как решать уравнения  
0
 Аватар для bedvit
1210 / 261 / 22
Регистрация: 20.05.2016
Сообщений: 1,147
Записей в блоге: 22
07.04.2017, 11:39
На С++ примерно на 8% быстрее чем на С#.
Сборка х64.
Вложения
Тип файла: rar C++(x^3+y^3=z^3-1).rar (198.4 Кб, 4 просмотров)
0
 Аватар для bedvit
1210 / 261 / 22
Регистрация: 20.05.2016
Сообщений: 1,147
Записей в блоге: 22
07.04.2017, 15:50
Алгоритм.

Добавлено через 11 минут
При большем количестве итераций и замеров разница немного снизилась, до 6-8%

Добавлено через 2 часа 53 минуты
На ПК послабее - прирост уже 20%.
0
 Аватар для bedvit
1210 / 261 / 22
Регистрация: 20.05.2016
Сообщений: 1,147
Записей в блоге: 22
11.04.2017, 19:44
Цитата Сообщение от m-ch Посмотреть сообщение
Использовал тип ULongInt, так что теоретически можно запустить расчет до (2^64-2)^(1/3) = 2642245 (проверять не стал)
Решил проверить (93 решения), 15,9 мин.
На память:
Кликните здесь для просмотра всего текста
1689
271138144
3135138172
4372426505
5426486577
6242720729
7566823904
87918121010
923612071210
1057522922304
11193828203097
12267632303753
13112456105625
14219659846081
15194367026756
16185186758703
1719431164611664
1876761190312884
1933181680616849
20108661732818649
2130862158821609
2234532496524987
23173282763029737
2446073684036864
25281823121237513
26102303788738134
27257653385738239
28312123456641545
2972514940949461
30341994621251762
3165605902259049
32152186619866465
33291966616768010
34541015650369709
35328826947971852
36512936416573627
37173847824478529
3889998997090000
39584628738395356
407526394904108608
418450789559109747
4299800104383128692
4311978131736131769
4481404130119139974
4586103153422161976
4693066152526163297
4715551186588186624
48146996204290227033
49105570237095243876
5019772257010257049
51152526249972267625
52120039275616283006
5357055339590340126
5424695345702345744
55113208342719346788
56289511331954393316
57315750340623414082
58151499434305440365
59293999403346449846
6030374455580455625
6136863589776589824
62257118664572677161
63197144708282713337
6444216751638751689
65309874746831764206
66283896815498826809
67658625743413886447
68375703902654923848
6952487944730944784
7031199910525401061600
7138655910766641093024
726173011728321172889
739262719516901183258
7434264812401191248778
7559581512245161269838
7629424112983451303363
7797129811593521352601
787199914399401440000
7994290213091081455241
80115078213886721613673
81107793615689781722969
8266457217177101750249
838334817502661750329
84155784617244422073025
859583121082382108304
8627003621746792176066
8758533521983742212120
88172444219088522294713
8971738323459152368067
9080286323425192373543
91146092621852472384230
9212638424189022419017
9310950225185002518569
Вложения
Тип файла: rar C++(x^3+y^3=z^3-1).rar (190.5 Кб, 7 просмотров)
0
6180 / 945 / 313
Регистрация: 25.02.2011
Сообщений: 1,381
Записей в блоге: 1
24.01.2018, 08:21
Цитата Сообщение от bedvit Посмотреть сообщение
хм.. У меня грелка Тузика нагибает
Обидно что то стало за Тузика. Скомпилировал код на FB с ключом оптимизации -O 2, ничего не поменяв в исходном коде.
У меня на ноутбуке i3 7100, win64 (4 потока), скорость вычисления на FB (3,610 сек.) и C++ (3,588 сек.) сопоставимы
На 8ми потоках скорость должна быть в два раза выше.

Виталий, прошу протестировать код FB (см. вложение) на своей машине и сравнить с C++
Вложения
Тип файла: rar xyzFB.rar (35.3 Кб, 3 просмотров)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.01.2018, 08:21

Как решать такие уравнения,
Дайте мануал по решению, и скажите тему пожалуйста этих задач, буду безмерно благодарен)

Как решать дифференциальные уравнения
расскажите как решать дифуры если можно желательно с примером

Как решать линейные уравнения?
Подскажите где можно взять информацию по данной теме) с примерами. В учебниках не находил) нужно около 3-4 страниц

Как решать такие уравнения?
r = (((((37*x*2139062143)mod4294967296)*37*y)mod4294967296)*37*z)mod4294967296) r - это некое натуральное число. Необходимо найти...

Как решать квадратные уравнения?
собственно вопрос... если можно, то пошагово объясните.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru