Проблемы вычислений в MathCAD
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Прочее. Программное обеспечение > Проблемы вычислений в MathCAD

Проблемы вычислений в MathCAD

Ответ
Поиск в этой теме
Непрочитано 18.01.2007, 23:46 #1
Проблемы вычислений в MathCAD
mmax
 
Программист широкого профиля.
 
Челябинск
Регистрация: 08.09.2005
Сообщений: 722

Решаю задачки по теоретической механике из сборника заданий Яблонского АА. В данной ситуации решаю К1 вар. 17. Решил воспользоваться маткадом. Так для самопроверки.
Я не прошу помогать мне с решением этих популярных задач, проблема в другом.

Вобщем написал функции параметрических уравнений в маткаде, в тетрадочке избавился от параметра, но график и вычисление производных сделал маткаде. Все шло гладко, маткад даже своим графиком подсказал, что траектория не бесконечная прямая, а ограниченный отрезок, сам бы я не когда бы не догодался.
Но ввиду того что, все вычисления в тетради должны быть сделаны так как будто в мире не существует компьютеров вовсе, тоесть пользоваться можно только таблицами Брадиса и логарифмической линейкой, а еще лучше столбиком считать.
Вобщем делаю полную раскладку вычислений руками и на этапе вычисления проекций скоростей долго не могу понять почему с маткадом ничего не сходится.

Оказалось:
В задании присутствуют тригонометрические функции, а маткад по умолчанию любые значения воспринимает в только радианах, а я все считаю в градусах.

И вот вопросы:
1. Можно ли в маткаде сделать так чтобы он воспринимал все значения в градусах, тоесть как в инженерном калькуляторе переключение режимов rad deg grad.
2. если нельзя и определена функция F(x):=cos((5x+1)deg), то в чем будет возвращено значение функции, например F(4)=? – не придется ли мне это значение переводить еще раз в градусы?. Точнее как учесть все так, чтобы в результате кучи вычислений не вспоткнуться на радианах. Неужели надо к каждому аргументу и переменной приставлять deg?

Для данной задачи маткад рулит так как явно величины углов в ней заданы в радианах, но в дальнейших задачах придется и с градусами помучиться.
[ATTACH]1169153199.rar[/ATTACH]
Просмотров: 31748
 
Непрочитано 19.01.2007, 00:43
#2
GWA18

Механизатор широкого профиля (б/у)
 
Регистрация: 23.12.2006
Черновцы
Сообщений: 2,933


Вы не указали, какая у Вас версия Маткада. У меня - 13.
Попробуйте путь: Инструменты -> Параметры рабочего листа -> Система единиц измерения -> Выборочная (на основе SI) -> Добавить -> Вставка единицы измерения -> Измерение=Angle -> Единица измерения=(deg, rad, rev, sr)
GWA18 вне форума  
 
Автор темы   Непрочитано 19.01.2007, 01:01
#3
mmax

Программист широкого профиля.
 
Регистрация: 08.09.2005
Челябинск
Сообщений: 722


У меня маткад 13

Сделал как вы сказали всеравно cos(90)=-0.448
mmax вне форума  
 
Непрочитано 19.01.2007, 07:32
#4
POMAH9IH

Инжинер-конструктор
 
Регистрация: 16.01.2007
Владивосток
Сообщений: 29
<phrase 1=


Два пути:

1. Ввести переводную формулу в начале документа.
2. Все градусы вводить в радианах пользуясь для себя зависимостью 1гр=П/180.
[ATTACH]1169181145.rar[/ATTACH]
POMAH9IH вне форума  
 
Автор темы   Непрочитано 19.01.2007, 11:49
#5
mmax

Программист широкого профиля.
 
Регистрация: 08.09.2005
Челябинск
Сообщений: 722


Всеравно коряво както.
Если в вычислениях нет синусовкосинусов, то все нормально. Как только они появились сразу нада все переводить, насыщая формулы дополнительными переводами.
Даже в калькуляторах с фуегознает с каких времен есть режимы переключения, а в современном суперкалькуляторе нет.
mmax вне форума  
 
Непрочитано 19.01.2007, 14:04
#6
axe


 
Регистрация: 25.09.2006
Санкт-Петербург
Сообщений: 23


Цитата:
если нельзя и определена функция F(x):=cos((5x+1)deg), то в чем будет возвращено значение функции, например F(4)=?
=) Косинус - величина б/р, это отношение сторон.
Все аргументы тригонометрических функций в маткаде вводятся в радианах. А вот обратные функции (арккосинус) - в единицах задаваемых в свойствах листа так что на косинус влияния настройка не окажет, а вот если проверить арккосинус, то он будет измеряться в градусах. Если нужно ввести аргумент в градусах, то и это очень просто: надо домножить на "deg", например: f(x):=cos(x*deg), и х автоматически будет переведено из градусов в радианы. с домножением результата вообще можно немало полезного делать (см файл)
[ATTACH]1169204651.rar[/ATTACH]
axe вне форума  
 
Непрочитано 19.01.2007, 14:21
#7
novinkov


 
Регистрация: 10.03.2005
Кемерово
Сообщений: 277


Вариант 1. Использовать пользовательские функции
Вариант 2. Переопределить встроенные функции
[ATTACH]1169205680.JPG[/ATTACH]
novinkov вне форума  
 
Непрочитано 19.01.2007, 16:58
#8
Estor

проектировщик-электрик
 
Регистрация: 18.01.2007
Омск
Сообщений: 8


можно при вводе числа после собственно числа писать deg, тогда он будет принимать это в градусах, а не в радианах.

то есть вместо sin(90) пишем sin(90deg). Попробуйте, я довольно давно маткадом не пользовался, но вроде бы так все было.
__________________
Нет невыполнимой работы для человека, который не обязан делать ее сам. (c)
Estor вне форума  
 
Автор темы   Непрочитано 19.01.2007, 18:57
#9
mmax

Программист широкого профиля.
 
Регистрация: 08.09.2005
Челябинск
Сообщений: 722


добавлять deg и определять-переопределять функции -- это не очень удобно.
Я давно знаком с маткадом и всегда на этом месте впотыкался.

Чтонибудь глобальное нужно.
а еще лучше чтобы это действовало на определенных участках листа.

А вот если я определил свои функции, то можно ли сделать так чтобы они загружались каждый документ сами, тоесть имели бы статус встроенных. Просто их может оказаться очень много и описывать их в начале каждого документа не очень удобно.
mmax вне форума  
 
Непрочитано 20.01.2007, 00:02
#10
GWA18

Механизатор широкого профиля (б/у)
 
Регистрация: 23.12.2006
Черновцы
Сообщений: 2,933


Цитата:
Сообщение от mmax
... Просто их может оказаться очень много и описывать их в начале каждого документа не очень удобно.
Сделать документ "Шаблон" со всем необходимым, в т. ч. с пользовательскими и/или переопределенными фунциями, и копировать его содержимое в начало каждого нового документа. Лишнее всегда можно удалить.
GWA18 вне форума  
 
Непрочитано 20.01.2007, 07:23
#11
novinkov


 
Регистрация: 10.03.2005
Кемерово
Сообщений: 277


to mmax:
Статус встроенных и автоматическая загрузка пользовательских функций возможна только через пользовательские dll-модули. Но нужно иметь очень, очень веские причины для работы с dll - в этом случае при их разработке и отладке теряются все преимущества MathCAD'а - наглядность вычислений и оперативность получения первых результатов. Кроме того, возможно потребуется их перекомпилляция при переходе на новые версии MathCAD'а. Во всяком случае, мой опыт показал, что, разработка dll для рядового инженера практически не окупается - слишком большие затраты времени на разработку. Всегда есть более дешевые способы получения результата.
Как альтернативу предложению GWА18:
можно однократно определить все пользовательские функции в одном или разных файлах, а в текущих документах подключать эти файлы как внешние ссылки (reference). Наконец, чтобы все эти "предисловия" документов не занимали много места их можно поместить в закрытую область (area). Многократно подключать ссылки с возможность переопределения пользовательских функций возможно в любом месте текущего документа
novinkov вне форума  
 
Непрочитано 08.02.2007, 20:07
#12
ApmeM

проектировщик
 
Регистрация: 08.04.2005
пока Волгоград
Сообщений: 199


А, еще лучше - это отказаться от маткада вообще (особенно от V13).
Столько глюков я ещё не видел (WinXP не в счет)...
ApmeM вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Прочее. Программное обеспечение > Проблемы вычислений в MathCAD