С Новым годом! Форум программистов, компьютерный форум, киберфорум
Wolfram Mathematica
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
1471 / 826 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
1

Как посмотреть чему равна переменная?

12.05.2015, 23:10. Показов 2005. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
пример: a1=формула1
Как увидеть чему равно a1.

Наверно наподобие Trace[1 + 1] но формула внутри кода и она не выводиться никуда...
Формула внутри Manipulate[Graphics3D[.
Как в это окошко с манипуляторами или другое вывести знание a1?Как узнать результат расчета формулы на середине кода?

Trace[1 + 1] не показывает, пишу Abort[]; также не показывает трейс, просто пишет аборт вместо картинки графика.

Как посмотреть чему равна переменная?

Как узнать чему равен этот угол?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.05.2015, 23:10
Ответы с готовыми решениями:

Чему будет равна переменная c в результате следующего кода?
Здравствуйте.. немного не понятен смысл работы "цикла For"по условию задания: Переменные c и d...

Чему будет равна переменная в результате выполнения следующего кода
Подскажите...я начал только учить делфи на интуите...не могу понять принцип действия цикла....

Чему будет равна переменная после выполнения следующего фрагмента программы?
Пожалуйста, очень прошу помогите с тестами(( 2)Чему равна переменная m при p = 32 и p1 = 9 после...

Чему будет равна переменная sum после выполнения фрагмента программы
2)Чему будет равна переменная sum после выполнения фрагмента программы: sum:=0; for i:=5 to 8 do...

12
Модератор
Эксперт по математике/физике
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
Цитата Сообщение от VSI Посмотреть сообщение
файл был бы предпочтительней
Ошибок не выдает, а считать не хочет. Наверно угол неверный где то, как глянуть вообще в любой формуле значение? Как делают отладку и проверку кода?

Запуская выделенное синим, пишет ошибка, значит угол неправильный. Может нужно вообще не так там формула t=tg(угол/2), я нашел что нужно написать N[ArcTan[Tan[2*t0/(1- t0^2)]],3] чтобы найти угол в радианах.
Как посмотреть чему равна переменная?
Вложения
Тип файла: rar x25.rar (7.8 Кб, 3 просмотров)
0
Эксперт функциональных языков программированияЭксперт по математике/физике
4300 / 2091 / 431
Регистрация: 19.07.2009
Сообщений: 3,163
Записей в блоге: 24
13.05.2015, 16:37 4
Я предпочитаю проектировать программу так, чтобы в любом значимом участке код были внешние переменные, которые можно явно проверить, и аргументы, которые можно явно задать, а всё остальное должно вычисляться без необходимости «заглянуть внутрь».

В крайнем случае можно воспользоваться двумя приёмами:
1. Окружить присваивание Print, например, Print[a = 1 + 1];
2. Любое интересующее выражение может быть окружено в Print с последующим дублированием:
Haskell
1
2
3
4
5
(* было *)
F[G*(H1+H2)];
 
(* стало *)
F[G*(Print[H1+H2]; H1+H2)]
3. Использовать Abort[] после Print.

Не по теме:

А что это за ярое шаманство ArcTan[Tan[...]]? Смысл?

0
1471 / 826 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
13.05.2015, 18:48  [ТС] 5
Цитата Сообщение от Mysterious Light Посмотреть сообщение
должно вычисляться без необходимости «заглянуть внутрь».
Это из-за того, что формула нужна внутри Manipulate[Graphics3D[ а как вылезти оттуда я не знаю, формула должна пересчитываться пока ведут слайдер. Как по-другому я не знаю, вместо таких рабочих моментов справка математики пестрит обилием красивых графиков и анимации…
Цитата Сообщение от Mysterious Light Посмотреть сообщение
присваивание Print
Пробовал на Print на 1+2 возвращает одно число 3 верно. А по формуле нужный расчет возвращает почему-то 2 цифры, как это так?
Так и в углах тогда бред. Попробовал выше расчеты, тоже вообще 3 числа возвращает что за ерунда.
И вообще как неудобно, что не пишет какую переменную выводит…
Попробовал даже на корень 9 так 3 цифры выводит.
Какой-то закидан разработчиков, похоже нужно смотреть только верхнюю цифру.. идиотизм.
Как исправить на адекватный ответ?

Цитата Сообщение от Mysterious Light Посмотреть сообщение
ярое шаманство ArcTan[Tan[...]]? Смысл?
Исходные данные 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
Эксперт функциональных языков программированияЭксперт по математике/физике
4300 / 2091 / 431
Регистрация: 19.07.2009
Сообщений: 3,163
Записей в блоге: 24
13.05.2015, 20:38 7
Лучший ответ Сообщение было отмечено Excalibur921 как решение

Решение

Excalibur921, не отзывайтесь плохо о разработчиках WM (по крайней мере с Вашим знанием языка и системы это выглядит нелепо).

Давайте по порядку разбираться, что Вы делаете, потому что так быстрее найдёте ответ на Ваш настоящий вопрос.

1. Если https://www.cyberforum.ru/cgi-bin/latex.cgi?t_0= \operatorname{tg}  \frac\alpha2 и угол из первой четверти, то https://www.cyberforum.ru/cgi-bin/latex.cgi?\alpha = 2\operatorname{arctan}(t_0). Как бы всё.
Всегда же https://www.cyberforum.ru/cgi-bin/latex.cgi?\operatorname{arctan}(\operatorname{tan} \theta) = \theta, поэтому Ваша формула лишена смысла. Мне лень искать ошибку в выводе, но она очевидно есть.

2. N[value, 3] приводит выражение value к числу с плавающей точкой и 3 значащими знаками. Для чего Вы это делаете, мне не понятно. Как правило, можно не использовать N, кроме отдельных случаев.
Собственно, два Ваших пассажа как раз о том, как Вы возмущаетесь тем, что N делает то, что ему по документации положено делать.

3. Ок, недоглядел я, что Вы спрашиваете о Manipulate. Впрочем, мои советы по-прежнему работают, но к ним можно добавить ещё один:
Haskell
1
2
3
4
5
6
7
(* было *)
Manipulate[expr, {x, ...}]
 
(* стало *)
Block[{x = <конкретное значение>},
  expr
]
4. Для маркировки переменных можно писать явно, что выводится, например, Print["a=", a=1+2];
Цитата Сообщение от Excalibur921 Посмотреть сообщение
спец символ вконце как вишенка на торте
5. это мнимая единица, а не спец символ (точнее, не более спец, чем сдвоенная e в значении E)

Не браните разработчиков, они сделали очень логичную по моему мнению систему.

P.S. если модератор пожелает, я прекращу отвечать на провокационные вопросы.
0
1471 / 826 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
13.05.2015, 22:27  [ТС] 8
Цитата Сообщение от Mysterious Light Посмотреть сообщение
и угол из первой четверти,
Построил треугольник в геогебре, и таки моя формула бред, а ваша правильна =).
И глянул в вики она ж и есть, как я просмотрел…
Что там с четвертями у WM для тангенсов понятия не имею, не тестировал еще ничего.
Как правило с четвертями еще повозиться придется наверно.

Цитата Сообщение от Mysterious Light Посмотреть сообщение
плавающей точкой и 3 значащими знаками. Для чего Вы это делаете, мне не понятно. Как правило, можно не использовать N, кроме отдельных случаев.
А как еще увидеть одним числом результат расчета в Print наглядно? А ответ в виде дроби или корень числа... это тупо и не наглядно я ж не робот в уме вычислять это. А если оставить результат который выводит без N как например корень из числа то он будет адекватен в расчетах? Всеравно это не наглядно, вообще извращенная логика разработчиков…
Цитата Сообщение от Mysterious Light Посмотреть сообщение
но к ним можно добавить ещё один:
Зачем? Print пашет, хоть и не удобный и нужно очищать вручную и точно знать что за переменную брали…( опять минус разработчикам).
Цитата Сообщение от Mysterious Light Посмотреть сообщение
можно писать явно, что выводится, например, Print["a=", a=1+2];
Ухты… Спецом открыл опять справку которую читал про Print там нет этого примера(или не увидел за 100 ненужных других), а это нужно кровью написать на первой странице. И подчеркнуть функции для отладки в помощь.

Цитата Сообщение от Mysterious Light Посмотреть сообщение
это мнимая единица, а не спец символ (точнее, не более спец, чем сдвоенная e в значении E)
Откуда новичку и не математику это знать( и зачем)? Вместо одного числа которое там должно быть ( которое и хотят узнать) выводиться 2 еще и с плюсом, еще и символ..
Зачем это обывателю? Вывод результата в такой форме на языке программистов называется индусским кодом(не явное, самое не очевидное и запутанное решение).
Цитата Сообщение от Mysterious Light Посмотреть сообщение
Не браните разработчиков, они сделали очень логичную по моему мнению систему.
Все минусы от разработчиков которые мной найдены и указаны строго аргументированы.Т.е это недостатки \ недоработки.
Цитата Сообщение от Mysterious Light Посмотреть сообщение
если модератор пожелает, я прекращу отвечать на провокационные вопросы.
Где тут хоть один такой вопрос? Все из опыта и аргументировано от человека который реально что-то пытается сделать, а оно и ошибок не выдает а просто не работает…
0
1471 / 826 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
13.05.2015, 22:52  [ТС] 9
Так что это значит два числа со знаком и символом? Это ошибка? Что тут может не нравиться WM?
Как посмотреть чему равна переменная?
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
Эксперт функциональных языков программированияЭксперт по математике/физике
4300 / 2091 / 431
Регистрация: 19.07.2009
Сообщений: 3,163
Записей в блоге: 24
14.05.2015, 08:43 12
Цитата Сообщение от Excalibur921 Посмотреть сообщение
Что там с четвертями у WM для тангенсов понятия не имею, не тестировал еще ничего.
Как правило с четвертями еще повозиться придется наверно.
Ровно так же, как и во всех других адекватных языках программирования.
Цитата Сообщение от Excalibur921 Посмотреть сообщение
А как еще увидеть одним числом результат расчета в Print наглядно? А ответ в виде дроби или корень числа... это тупо и не наглядно я ж не робот в уме вычислять это.
В принципе, можно окружить выражение N[...] без второго аргумента. Это имеет смысл, если хочется оценить по порядку величины значение. В редких случаях имеет также смысл использовать N без второго аргумента справа от присваивания, чтобы принудить перейти WM от символьных рассчётов к численным; хотя обычно у меня это свидетельствует о косяке в спроектированной системе, потому что по-хорошему стоило бы начинать уже с численного счёта и вообще не использовать символьный, раз он не нужен.
Цитата Сообщение от Excalibur921 Посмотреть сообщение
А если оставить результат который выводит без N как например корень из числа то он будет адекватен в расчетах? Всеравно это не наглядно, вообще извращенная логика разработчиков…
Вот допустим Вы ввели Sqrt[2]. Затем написали Print[Sqrt[2]]. Что он по-Вашему должен выдать в ответ? Учтите, любое число с конечным числом цифр, вроде 1.414, не является тем же числом, что и Sqrt[2]. Это же касается всех других иррациональных чисел, в их числе Sqrt[3], Pi, E.
У разработчиков с логикой всё в порядке. У Вас же — не уверен, разве что Вы придложите более удобную систему, учитывающее моё предыдущее замечание, в чём я очень сомневаюсь.
Цитата Сообщение от Excalibur921 Посмотреть сообщение
Зачем? Print пашет, хоть и не удобный и нужно очищать вручную и точно знать что за переменную брали…( опять минус разработчикам).
Вообще, Print не предназначен для отладки. Поэтому Ваши якобы аргументы о непродуманности Print катятся лесом. И вообще, как функциональщик я убеждён, что необходимость в отладке свидетельствует о безграмотности программиста и/или архитектора.
Цитата Сообщение от Excalibur921 Посмотреть сообщение
Откуда новичку и не математику это знать( и зачем)? Вместо одного числа которое там должно быть ( которое и хотят узнать) выводиться 2 еще и с плюсом, еще и символ..
Зачем это обывателю? Вывод результата в такой форме на языке программистов называется индусским кодом(не явное, самое не очевидное и запутанное решение).
А справку открыть и почитать про этот чудозначёк, не?
Если Вы не знаете, что такое мнимая единица, откуда мне знать, что Вы вообще в математике знаете? Может, Вы даже не знаете, что такое число, или корень, или список, или матрица, или функция?.. Вы там определитесь, как Вас позиционировать: нуб или есть надежда на конструктивный диалог.
Цитата Сообщение от Excalibur921 Посмотреть сообщение
Где тут хоть один такой вопрос? Все из опыта и аргументировано от человека который реально что-то пытается сделать, а оно и ошибок не выдает а просто не работает…
Я ошибся. Здесь безграмотность и убеждение, что вопреки неё программа обязана выдать тот результат, который от неё молчаливо ожидается.
Цитата Сообщение от Excalibur921 Посмотреть сообщение
ак что это значит два числа со знаком и символом? Это ошибка? Что тут может не нравиться WM?
Он говорит, что https://www.cyberforum.ru/cgi-bin/latex.cgi?t_0 \approx 0.2357 + 0.604 i. Приведите в теме значения yB, xB и K и убедитесь, подкоренное выражение отрицательно и Ваше «должно быть 0.8» ну аж никак не получится.
Цитата Сообщение от Excalibur921 Посмотреть сообщение
Mathematica вместо того чтобы написать “Недопустимый аргумент функции”( как это написал калькулятор) выдает какой-то бред в отладке
По всей видимости, под недопустимым аргументом функции Вы понимаете отрицательный аргумент квадратного корня. То есть Вас совсем не напрягает, что квадратный корень можно (и зачастую нужно) брать от отрицательных чисел?

Много нытья о якобы косорукости разработчиков, ни один аргумент не выдерживает даже базовой критики.
Если Вас WM сложен, потому что он ведёт себя не как калькулятор, может, будет проще пользоваться калькулятором?
0
1471 / 826 / 140
Регистрация: 12.10.2013
Сообщений: 5,456
14.05.2015, 10:40  [ТС] 13
Цитата Сообщение от Mysterious Light Посмотреть сообщение
Ровно так же, как и во всех других адекватных языках программирования.
А вдруг там хитрый и умный арктангенс яж не знаю.
Цитата Сообщение от Mysterious Light Посмотреть сообщение
вообще не использовать символьный, раз он не нужен.
Чтозабред? А формулы как применять? А удобные присваивания a1:=формула1..
Цитата Сообщение от Mysterious Light Посмотреть сообщение
, чтобы принудить перейти WM от символьных расчетов к численным;
Еще раз говорю ответ в виде корня или дроби мне не нужен я не робот в уме вычислять, и точность 50 знаков мне не нужна. Мне нужно видеть ответ числом без извратов как во всех нормальных программах.
Цитата Сообщение от Mysterious Light Посмотреть сообщение
вроде 1.414, не является тем же числом, что и Sqrt[2]
Это если смотреть 50 знаков, на практике такая точность бессмысленна.
Неужели программисты не могут использовать 50 знаков внутри системы не показывая что там такая точность пользователю, а пользователю( он же не робот) выводить 3 знака после запятой и норм.
Цитата Сообщение от Mysterious Light Посмотреть сообщение
Это же касается всех других иррациональных чисел, в их числе Sqrt[3], Pi, E.
Еще раз говорю, я могу вообще брать 3.1415 и нормально будет в 99.99(9) % случаев, 50 знаков это для коней в вакууме. Там не так часто берется Pi чтобы набегала ошибка. Достаточная точность итак. А наглядность страдает( это косяк разробов значит).
Цитата Сообщение от Mysterious Light Посмотреть сообщение
У разработчиков с логикой всё в порядке.
Ахаха….
Цитата Сообщение от Mysterious Light Посмотреть сообщение
Вообще, Print не предназначен для отладки. Поэтому Ваши якобы аргументы о непродуманности Print катятся лесом
Пф… вы же мне и посоветовали его. И кстати свою задачу он выполняет как надо теперь. И для отладки он и используется мной( позволил понять где ошибка), это и называют отладка…
Цитата Сообщение от Mysterious Light Посмотреть сообщение
что необходимость в отладке свидетельствует о безграмотности программиста и/или архитектора
Какой бред… Вы наверно никогда ничего не создавали, ниодной программы... раз такие идеи. Во всех программах есть ошибки, и отладка это всегда часть любого процесса создания нового. Разве только если вы не бог WM .
Цитата Сообщение от Mysterious Light Посмотреть сообщение
Может, Вы даже не знаете, что такое число, или корень, или список, или матрица, или функция?.
Ну это уже троллинг, вы открывали программу? Там код на 300 строк с матрицей векторами таблицей и т.д…
Цитата Сообщение от Mysterious Light Посмотреть сообщение
как Вас позиционировать: нуб или есть надежда на конструктивный диалог.
Ну если я создал программу которая что то там делает и использует здоровенные формулы значит вывод очевиден =).Все начинают с новичков. А если человек спрашивает на форуме как вывести значение переменной(элементарная команда), то по-моему вывод также очевиден…
Цитата Сообщение от Mysterious Light Посмотреть сообщение
Я ошибся. Здесь безграмотность и убеждение, что вопреки неё программа обязана выдать тот результат, который от неё молчаливо ожидается.
Ну такой неудобной и непонятной программу создали что ж поделать?
Цитата Сообщение от Mysterious Light Посмотреть сообщение
Приведите в теме значения yB, xB и K и убедитесь, подкоренное выражение отрицательно и Ваше «должно быть 0.8» ну аж никак не получится.
Вы посты читаете?

Цитата Сообщение от Excalibur921 Посмотреть сообщение
Нашел ошибку, я неправильно проверял. Mathematica вместо того чтобы написать “Недопустимый аргумент функции”( как это написал калькулятор) выдает какой-то бред в отладке Опять минус разработчикам =(.
Цитата Сообщение от Mysterious Light Посмотреть сообщение
То есть Вас совсем не напрягает, что квадратный корень можно (и зачастую нужно) брать от отрицательных чисел?
Никогда с таким не сталкивался, скорей всего там должен быть корень из положительного. В любом случаем WM выдает бред если корень от отрицательного. И еще тупой рисунок неудачный к этим формулам(в работе с которой беру формулы), расчеты запутаны и непонятны не математику.. почему было просто не написать четкий алгоритм как вычислять? Все-таки математики из вакуума очень далеки от процесса создания программы на практике использующей их расчет.
Кстати пример был недавно, запостил вопрос что не работали там Сплайны Кочанека-Бартельса, попросил (наверно профессора) разобраться, так он кроме понтов ничего не подсказал…Открыл книгу по математике, ввел формулы ничего не работает.. смотрю а в формуле (в книге) несколько опечаток.. Может и эти расчеты от математиков как кони в вакууме?
С ошибками изначально или не работают на практике. Попросил другого математика глянуть абзац в книге с описанием этих сплайнов, так и он ничего не смог…Вот такие профессора и книги .

Вот тут уже не знаю где ошибка, создал тему по этому уже другому вопросу. Может кто знает геометрию подскажет, а расчеты выглядят так просто. Уже придумал свой метод, и два наверно приближенных, но не хочется изобретать велосипед из за пары ошибок( да и расчет не точный будет тогда).
Расчет по примеру с картинкой

Цитата Сообщение от Mysterious Light Посмотреть сообщение
Много нытья о якобы косорукости разработчиков
Все из практических задач, недоработки.. что ж поделать? Или вот простой пример:
Почему в 2015 году в любой версии WM нет возможности таскать точки мышкой в пространстве?? Это так сложно? Тоже косяк разробов…В итоге у меня 3 слайдера чтобы таскать одну точку( да есть слайдер2д и локатор, но не разобрался еще как прилепить их туда, яж новичек).
0
14.05.2015, 10:40
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.05.2015, 10:40
Помогаю со студенческими работами здесь

Чему будет равна переменная b после выполнения следующего фрагмента программы?
1)Пусть a и b-переменные целого типа. Чему будет равна переменная b после выполнения следующего...

Цикл While: Чему будет равна переменная sum после выполнения фрагмента программы?
Чему будет равна переменная sum после выполнения фрагмента программы: i:=15; sum:=0; While i&gt;5...

Чему равна сила тока в проводнике, если его длина равна 45 см
В однородном магнитном поле, индукция которого равна 0.5 Тл, проводник переместился перпендикулярно...

Чему равен MAC портов LAN роутера (как посмотреть) ?
Доброго времени суток. Если настраивать ADSL-роутер под Ethernet, и использовать 1 из LAN-портов...

Как задаётся коническая спираль и чему равна её длина
Подскажите, пожалуйста, как задаётся коническая спираль и чему равна её длина. Правила форума,...

Как узнать что переменная равна -1.#IND
Использую функцию atof(); чтобы преобразовать строку в переменную типа double Но иногда эта...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru