171 / 104 / 25
Регистрация: 17.10.2010
Сообщений: 1,146
|
||||||
1 | ||||||
Решения тригонометрического уравнения24.10.2012, 23:43. Показов 22050. Ответов 26
Метки нет (Все метки)
Всем доброго время суток. Написать программу для решения уравнения
. Параметры a, b и c вводятся пользователем. Предусмотреть ситуацию, когда уравнение решений не имеет (например ). При условии, что делим обе части уравнения на получаем В итоге приводится к следующему виду Откуда получается: Для определения угла я использовал следующее соотношение: и Вот что мне удалось сделать самому
0
|
24.10.2012, 23:43 | |
Ответы с готовыми решениями:
26
Написать код для решения системы тригонометрического неравенства с двумя неизвестными Написать код для решения системы тригонометрического неравенства с двумя неизвестными Найти все решения тригонометрического уравнения Решение тригонометрического уравнения |
Псевдослучайный
1946 / 1145 / 98
Регистрация: 13.09.2011
Сообщений: 3,215
|
|
24.10.2012, 23:46 | 2 |
0
|
284 / 157 / 30
Регистрация: 22.09.2012
Сообщений: 283
|
|
24.10.2012, 23:52 | 3 |
n не инициализировано.
Извиняюсь, не заметил.
0
|
171 / 104 / 25
Регистрация: 17.10.2010
Сообщений: 1,146
|
||||||
25.10.2012, 02:06 [ТС] | 5 | |||||
Вот сделал как советовали, но результат мало изменился.
0
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
|
25.10.2012, 08:29 | 6 |
1
|
171 / 104 / 25
Регистрация: 17.10.2010
Сообщений: 1,146
|
||||||||||||||||||||||||||
25.10.2012, 15:46 [ТС] | 7 | |||||||||||||||||||||||||
Спасибо за ответ вот переделал как советуете:
Добавлено через 2 часа 36 минут А может еще ввести:
0
|
284 / 157 / 30
Регистрация: 22.09.2012
Сообщений: 283
|
|
25.10.2012, 16:23 | 8 |
isaak, А в чем проблема? Щас проверил на входных данных 1 1 1 1 и 4 5 6 1 и корень определен верно.
И еще случай a^2+b^2=0 это не верно что не имеет решений. Если при этом c=0, то решений наоборот очень много.
0
|
171 / 104 / 25
Регистрация: 17.10.2010
Сообщений: 1,146
|
|
25.10.2012, 16:38 [ТС] | 9 |
doctor_lecter при a^2+b^2=0 и при c=0 получается бесконечность а синус принимает значения от -1 до 1.
0
|
284 / 157 / 30
Регистрация: 22.09.2012
Сообщений: 283
|
|
25.10.2012, 16:43 | 10 |
isaak, А вы посчитайте 0*cos(-17,5) + 0*sin(-17,5) и посмотрите что получится.
0
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
|
25.10.2012, 16:43 | 11 |
0
|
171 / 104 / 25
Регистрация: 17.10.2010
Сообщений: 1,146
|
|
25.10.2012, 22:19 [ТС] | 12 |
doctor_lecter здесь нужно вводить не градусы и радианы, а числовые значения, так как при решении данного тригонометрического уравнения и выразили через
И в формуле у меня стоят арксинус и арккосинус, а не синус и косинус, а вы вводите градусы, что не верно нужно найти по введенным числовым значениям угол, а так как синус и косинус принимать значения -1 до 1 включительно. Если a^2+b^2 - это знаменатель дроби, то арксинус уходит на бесконечность, что противоречит тригонометрическому определению. Mr.X я записал a^2+b^2 несколько раз так как это требует условие задачи.
0
|
284 / 157 / 30
Регистрация: 22.09.2012
Сообщений: 283
|
|
25.10.2012, 22:50 | 13 |
А что же тогда нужно вводить? Что вы понимаете под числовым значением? И почему радианы это не числовое значение?
Тогда по вашей логике уравнение a*x^2 - x + 1 = 0 тоже не имеет решений при a=0, т.к. a уходит в знаменатель. Попробуйте в ваше уравнение подставить a=b=c=0 и посмотреть что получится. Когда решая уравнение совершаете какие-либо преобразования, нужно всегда смотреть особые случаи, как например деление на 0, и проверять что будет если подставить параметры, которые эти случаи вызывают (до этого преобразования).
0
|
3225 / 1752 / 436
Регистрация: 03.05.2010
Сообщений: 3,867
|
||||||
26.10.2012, 04:24 | 14 | |||||
Не надо путать алгебраическую запись решения задачи и программный код этого решения. Если в алгебраической записи повторения допустимы, то в программном коде дублирование не допускается.
А вот пробелы между лексемами нужно ставить с той же необходимостью, как и между словами в обычном тексте. Логика программы такая более правильна:
1
|
171 / 104 / 25
Регистрация: 17.10.2010
Сообщений: 1,146
|
||||||||||||||||
26.10.2012, 14:10 [ТС] | 15 | |||||||||||||||
Может быть вы так и решаете уравнение a*x^2 - x + 1 = 0 при a=0 решается квадратное уравнение через дискриминант, но правильное решение при a=0 следующее - x + 1 = 0, откуда x = 1. Что касается данного тригонометрического уравнения, то как я уже указал при создании этой темы
и Если к примеру отсюда , при отсюда отсюда , при отсюда Я и учел эти особые случае деление на 0 a^2 + b^ 2 = 0 то есть знаменатель у нас равен 0
Mr.X спасибо огромное за ваш код, но нужно внести одно исправление при a^2 + b^ 2 = 0
0
|
Master of Orion
|
||||||
26.10.2012, 15:01 | 16 | |||||
isaak, если a = b = c = 0, то получаем тождество
0*sin(y)+0*cos(z)=0, очевидно, при любых y и z, даже различных, это тождество выполняется. Так что
0
|
284 / 157 / 30
Регистрация: 22.09.2012
Сообщений: 283
|
|
26.10.2012, 15:20 | 17 |
Нет, как раз вы сейчас и решаете так свое уравнение. Почему вы вы в этом квадратном уравнении подставляете a = 0, а в своем тригонометрическом упорно не хотите это сделать и пишите про какой-то арксинус, который на данном этапе еще рано применять.
Ну ладно, подставлю a=b=c=0 за вас: a*cos(x) + b*sin(x) = c; 0*cos(x) + 0*sin(x) = 0 0 = 0 Таким образом получили верное соотношение при любом значении x. А вы все это бесконечное множество выкидывали и говорили нет решений.
0
|
171 / 104 / 25
Регистрация: 17.10.2010
Сообщений: 1,146
|
||||||
26.10.2012, 15:57 [ТС] | 18 | |||||
Совершенно с вами согласен нужно добавить
и мы подставляем и в числитель и в знаменатель то получается 0/0 - это есть неопределенность, которая в вычислительной математике не имеет смысла, так как нужен конкретный конечный результат.
0
|
284 / 157 / 30
Регистрация: 22.09.2012
Сообщений: 283
|
|
26.10.2012, 16:20 | 19 |
isaak, А зачем a = b = 0 подставлять в b^2/sqrt(a^2 + b^2)?
У вас тут логическая ошибка: для решения вы хотите применить формулу дополнительного (или вспомогательного, точно не помню) аргумента и совершенно справедливо заметили особый случай a = b = 0, при котором происходит деление на 0. Но дальше я вам уже приводил пример с уравнением ax^2 - x + 1, и вы сами сказали что рассмотрите случай a=0 отдельно. Так и вашем случае a = b = 0 нужно рассмотреть отдельно и подставить в исходное уравнение, а не в a^2/sqrt(a^2 + b^2). Подставим в исходное уравнение a=b=0. Получим 0 = c. Очевидно, что при c = 0 любое x - решение, а при c != 0 решений нет. Добавлено через 14 минут Результат при a, b, c = 0 тоже вполне конкретный, как и при любых других a, b, c, но отличается тем что вы не сможете получить 1 конкретный x при конкретном n. Но тем не менее ситуации нет решений, и любой x - решение принципиально различаются, и в общем случае должны быть обработаны по разному.
1
|
Master of Orion
|
|
26.10.2012, 16:36 | 20 |
isaak, есть такое понятие как особое решение, что в обычной математике, что во всевозможных дифурах. Как простой пример сойдет и это.
А вообще почитайте про устранимые точки разрыва первого порядка. С тем же успехом я могу сказать, что уравнение 2*x не имеет решений в точке 0. А как же, добавим 2*x == 2 * x * (1/1) = 2 * x * (x/x) = (2x^2/x). На ноль делиться нельзя - нет решений!!
1
|
26.10.2012, 16:36 | |
26.10.2012, 16:36 | |
Помогаю со студенческими работами здесь
20
Решение тригонометрического уравнения Корни тригонометрического уравнения Решение тригонометрического уравнения Решение тригонометрического уравнения Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |