1471 / 826 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
1 | |
Как посмотреть чему равна переменная?12.05.2015, 23:10. Показов 2005. Ответов 12
Метки нет (Все метки)
пример: a1=формула1
Как увидеть чему равно a1. Наверно наподобие Trace[1 + 1] но формула внутри кода и она не выводиться никуда... Формула внутри Manipulate[Graphics3D[. Как в это окошко с манипуляторами или другое вывести знание a1?Как узнать результат расчета формулы на середине кода? Trace[1 + 1] не показывает, пишу Abort[]; также не показывает трейс, просто пишет аборт вместо картинки графика. Как узнать чему равен этот угол?
0
|
12.05.2015, 23:10 | |
Ответы с готовыми решениями:
12
Чему будет равна переменная c в результате следующего кода? Чему будет равна переменная в результате выполнения следующего кода Чему будет равна переменная после выполнения следующего фрагмента программы? Чему будет равна переменная sum после выполнения фрагмента программы |
Модератор
5277 / 4059 / 1389
Регистрация: 30.07.2012
Сообщений: 12,429
|
|
12.05.2015, 23:37 | 2 |
Excalibur921, файл был бы предпочтительней, чем картинка...
0
|
1471 / 826 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
13.05.2015, 08:32 [ТС] | 3 |
Ошибок не выдает, а считать не хочет. Наверно угол неверный где то, как глянуть вообще в любой формуле значение? Как делают отладку и проверку кода?
Запуская выделенное синим, пишет ошибка, значит угол неправильный. Может нужно вообще не так там формула t=tg(угол/2), я нашел что нужно написать N[ArcTan[Tan[2*t0/(1- t0^2)]],3] чтобы найти угол в радианах.
0
|
13.05.2015, 16:37 | 4 | |||||
Я предпочитаю проектировать программу так, чтобы в любом значимом участке код были внешние переменные, которые можно явно проверить, и аргументы, которые можно явно задать, а всё остальное должно вычисляться без необходимости «заглянуть внутрь».
В крайнем случае можно воспользоваться двумя приёмами: 1. Окружить присваивание Print, например, Print[a = 1 + 1]; 2. Любое интересующее выражение может быть окружено в Print с последующим дублированием:
Не по теме: А что это за ярое шаманство ArcTan[Tan[...]]? Смысл?
0
|
1471 / 826 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
13.05.2015, 18:48 [ТС] | 5 |
Это из-за того, что формула нужна внутри Manipulate[Graphics3D[ а как вылезти оттуда я не знаю, формула должна пересчитываться пока ведут слайдер. Как по-другому я не знаю, вместо таких рабочих моментов справка математики пестрит обилием красивых графиков и анимации…
Пробовал на Print на 1+2 возвращает одно число 3 верно. А по формуле нужный расчет возвращает почему-то 2 цифры, как это так? Так и в углах тогда бред. Попробовал выше расчеты, тоже вообще 3 числа возвращает что за ерунда. И вообще как неудобно, что не пишет какую переменную выводит… Попробовал даже на корень 9 так 3 цифры выводит. Какой-то закидан разработчиков, похоже нужно смотреть только верхнюю цифру.. идиотизм. Как исправить на адекватный ответ? Исходные данные t0= tg (α /2) Как найти α? В инете была найдена формула: tg(α) =2tg(α/2)/(1-tg²(α/2)) Заменяем tg (α /2) на t0: tg(α) =2*t0/(1- t0^2) Поскольку за бугром принято Tan, и нужны радианы, и нужен арктангенс+закидоны разработчиков… Выходит α =N[ArcTan[Tan[2*t0/(1- t0^2)]],3] Нетак? С ответом совпало вроде…
0
|
1471 / 826 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
13.05.2015, 19:36 [ТС] | 6 |
Выдает 2 числа вместо результата и все, что за ерунда. Как сделать чтобы одной кнопкой нажимать расчет вместо перематывания вниз и Shift+Enter ?
И каждый раз чистить этот набор цифр в отладке, где авто очистка?… похоже математику писали индусы, все не по-людски. Отладка жесть, какие переменные выводит неясно, а если мне нужно глянуть сразу 10 переменных? Мда…Отладка выводит какой-то неочевидный новичку бред + спец символ вконце как вишенка на торте . Все делают чтобы ничего не работало, и отлаживать мешают . Что за ерунда на скрине?
0
|
13.05.2015, 20:38 | 7 | |||||
Сообщение было отмечено Excalibur921 как решение
Решение
Excalibur921, не отзывайтесь плохо о разработчиках WM (по крайней мере с Вашим знанием языка и системы это выглядит нелепо).
Давайте по порядку разбираться, что Вы делаете, потому что так быстрее найдёте ответ на Ваш настоящий вопрос. 1. Если и угол из первой четверти, то . Как бы всё. Всегда же , поэтому Ваша формула лишена смысла. Мне лень искать ошибку в выводе, но она очевидно есть. 2. N[value, 3] приводит выражение value к числу с плавающей точкой и 3 значащими знаками. Для чего Вы это делаете, мне не понятно. Как правило, можно не использовать N, кроме отдельных случаев. Собственно, два Ваших пассажа как раз о том, как Вы возмущаетесь тем, что N делает то, что ему по документации положено делать. 3. Ок, недоглядел я, что Вы спрашиваете о Manipulate. Впрочем, мои советы по-прежнему работают, но к ним можно добавить ещё один:
5. это мнимая единица, а не спец символ (точнее, не более спец, чем сдвоенная e в значении E) Не браните разработчиков, они сделали очень логичную по моему мнению систему. P.S. если модератор пожелает, я прекращу отвечать на провокационные вопросы.
0
|
1471 / 826 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
13.05.2015, 22:27 [ТС] | 8 |
Построил треугольник в геогебре, и таки моя формула бред, а ваша правильна =).
И глянул в вики она ж и есть, как я просмотрел… Что там с четвертями у WM для тангенсов понятия не имею, не тестировал еще ничего. Как правило с четвертями еще повозиться придется наверно. А как еще увидеть одним числом результат расчета в Print наглядно? А ответ в виде дроби или корень числа... это тупо и не наглядно я ж не робот в уме вычислять это. А если оставить результат который выводит без N как например корень из числа то он будет адекватен в расчетах? Всеравно это не наглядно, вообще извращенная логика разработчиков… Зачем? Print пашет, хоть и не удобный и нужно очищать вручную и точно знать что за переменную брали…( опять минус разработчикам). Ухты… Спецом открыл опять справку которую читал про Print там нет этого примера(или не увидел за 100 ненужных других), а это нужно кровью написать на первой странице. И подчеркнуть функции для отладки в помощь. Откуда новичку и не математику это знать( и зачем)? Вместо одного числа которое там должно быть ( которое и хотят узнать) выводиться 2 еще и с плюсом, еще и символ.. Зачем это обывателю? Вывод результата в такой форме на языке программистов называется индусским кодом(не явное, самое не очевидное и запутанное решение). Все минусы от разработчиков которые мной найдены и указаны строго аргументированы.Т.е это недостатки \ недоработки. Где тут хоть один такой вопрос? Все из опыта и аргументировано от человека который реально что-то пытается сделать, а оно и ошибок не выдает а просто не работает…
0
|
1471 / 826 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
13.05.2015, 22:52 [ТС] | 9 |
0
|
1471 / 826 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
13.05.2015, 23:38 [ТС] | 10 |
А можно сделать чтобы курсор не прыгал вниз когда нажимаю исполнить код Shit+Enter? Раздражает когда длинный код постоянно крутить опять вверх и искать обратно где был… опять недоработка разработчиков, нигде такого прикола не помню.
Вот благодаря вам проанализировал формулу. Вот магия, 7 способами пробую найти корень квадратный, и ни один не работает…. ну как такое может быть?
0
|
1471 / 826 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
13.05.2015, 23:57 [ТС] | 11 |
Нашел ошибку, я неправильно проверял. Mathematica вместо того чтобы написать “Недопустимый аргумент функции”( как это написал калькулятор) выдает какой-то бред в отладке Опять минус разработчикам =(.
0
|
14.05.2015, 08:43 | 12 |
Ровно так же, как и во всех других адекватных языках программирования.
В принципе, можно окружить выражение N[...] без второго аргумента. Это имеет смысл, если хочется оценить по порядку величины значение. В редких случаях имеет также смысл использовать N без второго аргумента справа от присваивания, чтобы принудить перейти WM от символьных рассчётов к численным; хотя обычно у меня это свидетельствует о косяке в спроектированной системе, потому что по-хорошему стоило бы начинать уже с численного счёта и вообще не использовать символьный, раз он не нужен.
Вот допустим Вы ввели Sqrt[2]. Затем написали Print[Sqrt[2]]. Что он по-Вашему должен выдать в ответ? Учтите, любое число с конечным числом цифр, вроде 1.414, не является тем же числом, что и Sqrt[2]. Это же касается всех других иррациональных чисел, в их числе Sqrt[3], Pi, E.
У разработчиков с логикой всё в порядке. У Вас же — не уверен, разве что Вы придложите более удобную систему, учитывающее моё предыдущее замечание, в чём я очень сомневаюсь. Вообще, Print не предназначен для отладки. Поэтому Ваши якобы аргументы о непродуманности Print катятся лесом. И вообще, как функциональщик я убеждён, что необходимость в отладке свидетельствует о безграмотности программиста и/или архитектора. А справку открыть и почитать про этот чудозначёк, не? Если Вы не знаете, что такое мнимая единица, откуда мне знать, что Вы вообще в математике знаете? Может, Вы даже не знаете, что такое число, или корень, или список, или матрица, или функция?.. Вы там определитесь, как Вас позиционировать: нуб или есть надежда на конструктивный диалог. Я ошибся. Здесь безграмотность и убеждение, что вопреки неё программа обязана выдать тот результат, который от неё молчаливо ожидается. Он говорит, что . Приведите в теме значения yB, xB и K и убедитесь, подкоренное выражение отрицательно и Ваше «должно быть 0.8» ну аж никак не получится. По всей видимости, под недопустимым аргументом функции Вы понимаете отрицательный аргумент квадратного корня. То есть Вас совсем не напрягает, что квадратный корень можно (и зачастую нужно) брать от отрицательных чисел? Много нытья о якобы косорукости разработчиков, ни один аргумент не выдерживает даже базовой критики. Если Вас WM сложен, потому что он ведёт себя не как калькулятор, может, будет проще пользоваться калькулятором?
0
|
1471 / 826 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
|
|
14.05.2015, 10:40 [ТС] | 13 |
А вдруг там хитрый и умный арктангенс яж не знаю.
Чтозабред? А формулы как применять? А удобные присваивания a1:=формула1.. Еще раз говорю ответ в виде корня или дроби мне не нужен я не робот в уме вычислять, и точность 50 знаков мне не нужна. Мне нужно видеть ответ числом без извратов как во всех нормальных программах. Это если смотреть 50 знаков, на практике такая точность бессмысленна. Неужели программисты не могут использовать 50 знаков внутри системы не показывая что там такая точность пользователю, а пользователю( он же не робот) выводить 3 знака после запятой и норм. Еще раз говорю, я могу вообще брать 3.1415 и нормально будет в 99.99(9) % случаев, 50 знаков это для коней в вакууме. Там не так часто берется Pi чтобы набегала ошибка. Достаточная точность итак. А наглядность страдает( это косяк разробов значит). Ахаха…. Пф… вы же мне и посоветовали его. И кстати свою задачу он выполняет как надо теперь. И для отладки он и используется мной( позволил понять где ошибка), это и называют отладка… Какой бред… Вы наверно никогда ничего не создавали, ниодной программы... раз такие идеи. Во всех программах есть ошибки, и отладка это всегда часть любого процесса создания нового. Разве только если вы не бог WM . Ну это уже троллинг, вы открывали программу? Там код на 300 строк с матрицей векторами таблицей и т.д… Ну если я создал программу которая что то там делает и использует здоровенные формулы значит вывод очевиден =).Все начинают с новичков. А если человек спрашивает на форуме как вывести значение переменной(элементарная команда), то по-моему вывод также очевиден… Ну такой неудобной и непонятной программу создали что ж поделать? Вы посты читаете? Никогда с таким не сталкивался, скорей всего там должен быть корень из положительного. В любом случаем WM выдает бред если корень от отрицательного. И еще тупой рисунок неудачный к этим формулам(в работе с которой беру формулы), расчеты запутаны и непонятны не математику.. почему было просто не написать четкий алгоритм как вычислять? Все-таки математики из вакуума очень далеки от процесса создания программы на практике использующей их расчет. Кстати пример был недавно, запостил вопрос что не работали там Сплайны Кочанека-Бартельса, попросил (наверно профессора) разобраться, так он кроме понтов ничего не подсказал…Открыл книгу по математике, ввел формулы ничего не работает.. смотрю а в формуле (в книге) несколько опечаток.. Может и эти расчеты от математиков как кони в вакууме? С ошибками изначально или не работают на практике. Попросил другого математика глянуть абзац в книге с описанием этих сплайнов, так и он ничего не смог…Вот такие профессора и книги . Вот тут уже не знаю где ошибка, создал тему по этому уже другому вопросу. Может кто знает геометрию подскажет, а расчеты выглядят так просто. Уже придумал свой метод, и два наверно приближенных, но не хочется изобретать велосипед из за пары ошибок( да и расчет не точный будет тогда). Расчет по примеру с картинкой Все из практических задач, недоработки.. что ж поделать? Или вот простой пример: Почему в 2015 году в любой версии WM нет возможности таскать точки мышкой в пространстве?? Это так сложно? Тоже косяк разробов…В итоге у меня 3 слайдера чтобы таскать одну точку( да есть слайдер2д и локатор, но не разобрался еще как прилепить их туда, яж новичек).
0
|
14.05.2015, 10:40 | |
14.05.2015, 10:40 | |
Помогаю со студенческими работами здесь
13
Чему будет равна переменная b после выполнения следующего фрагмента программы? Цикл While: Чему будет равна переменная sum после выполнения фрагмента программы? Чему равна сила тока в проводнике, если его длина равна 45 см Чему равен MAC портов LAN роутера (как посмотреть) ? Как задаётся коническая спираль и чему равна её длина Как узнать что переменная равна -1.#IND Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |