График в MathCad'е

Форум пользователей пакета Mathcad

Модератор: Admin

Vladimir__
Сообщения: 1656
Зарегистрирован: Вс дек 21, 2003 8:52 am

График в MathCad'е

Сообщение Vladimir__ » Пт авг 19, 2005 4:38 pm

Здравствуйте!

Хотелось бы узнать, как можно в MathCad выделить (закрасить) область графика, ограниченную двумя кривыми f1(v), f2(v) и константами (маркеры) left, right.

Изображение

VFO
Сообщения: 4227
Зарегистрирован: Ср фев 27, 2002 8:03 pm

Сообщение VFO » Пт авг 19, 2005 4:44 pm

Тут можно построить два графика одной функции в разных диапазонах и с разным форматированием. См. пример:
http://twt.mpei.ac.ru/ochkov/Mathcad_12 ... gram_T.gif

Леонид
Сообщения: 452
Зарегистрирован: Чт фев 20, 2003 3:31 pm
Откуда: Украина
Контактная информация:

Сообщение Леонид » Пт авг 19, 2005 5:22 pm

Можно закрасить "зигзагом":

Изображение

Леонид
Сообщения: 452
Зарегистрирован: Чт фев 20, 2003 3:31 pm
Откуда: Украина
Контактная информация:

Сообщение Леонид » Пт авг 19, 2005 5:27 pm

Блин, не всю задачу прочитал :-). Если нужно фрагмент, то так:

Изображение
Последний раз редактировалось Леонид Пт авг 19, 2005 5:28 pm, всего редактировалось 1 раз.

Vladimir__
Сообщения: 1656
Зарегистрирован: Вс дек 21, 2003 8:52 am

Сообщение Vladimir__ » Пт авг 19, 2005 6:17 pm

Большое спасибо Вам, VFO и Леонид, за ответы!

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

Изображение

Леонид
Сообщения: 452
Зарегистрирован: Чт фев 20, 2003 3:31 pm
Откуда: Украина
Контактная информация:

Сообщение Леонид » Сб авг 20, 2005 2:43 am

Насчет передачи графики во внешние приложения - это вряд ли, хотя в свете изложенного на форуме уже нельзя быть уверенным в невозможном :-).
А раз речь идет именно о графиках, то если родные мкадовские не устраивают, можно в том же Excel их строить (хотя смысла в этом не вижу).
Ну а в другие приложения - по старинке - Copy-Paste.

P.S. Самому было бы любопытно узнать возможен ли автоматический импорт графики

uni
Сообщения: 1817
Зарегистрирован: Сб ноя 13, 2004 3:06 pm
Откуда: п.г.т. Излучинск
Контактная информация:

Сообщение uni » Сб авг 20, 2005 8:01 am

Леонид, здорово у вас получается с закраской. Честно говоря я долго думал, а как это BAT (давно уже не появлявшийся) закрашивает куски окружностей? Мне приходило в голову сделать так как реализовано у вас, но я посчитал почему-то что вряд-ли это будет красиво. Вижу, что я ошибался.

> сохранять в какой-то либо графический формат
Вообще можно, начиная с некоторой версии (с 11 что-ли). Это делают через сохранение в формате html. В каталоге с картинками вы найдете не только изображения графиков, но и формул, короче всех элементов рабочего листа. Я даже думаю это можно сделать автоматически после каждого из вычислений с помощью скрипта.
Написать что-то вроде Worksheet.Save(Code)
где code - это формат в котором надо сохранить (документирвано)

Чтобы коллекционировать разные картинки графиков на разный этапах работы с помощью одного документа надо написать скрипт в ОС, который бы находил нужную картинку (по размеру например) и складывал её в нужное место, затем удалял сохраненый html документ. Вызывать его вожно по команде (s)system(). Потом опять делаем вычисления, сохраняем в html и вызываем скрипт зачистки. Так можно набрать нужные вам картинки графиков при разных расчетных данных.

Либо используйте Анимацию (см. help).

Vladimir__
Сообщения: 1656
Зарегистрирован: Вс дек 21, 2003 8:52 am

Сообщение Vladimir__ » Сб авг 20, 2005 10:02 am

Спасибо за советы.

Леонид
Сообщения: 452
Зарегистрирован: Чт фев 20, 2003 3:31 pm
Откуда: Украина
Контактная информация:

Сообщение Леонид » Сб авг 20, 2005 10:47 am

Спасибо, uni.

Для чистоты эксперимента следует упомянуть, что d должно быть нечетным, иначе штриховка выходит за правую границу (хотя это и не видно :-)).

При небольших значениях d получаются интересные закраски (хотя зачем это надо я не знаю :-)))

Изображение
Последний раз редактировалось Леонид Сб авг 20, 2005 12:28 pm, всего редактировалось 1 раз.

YuK
Сообщения: 698
Зарегистрирован: Вт дек 09, 2003 7:42 pm

Сообщение YuK » Пн авг 22, 2005 12:01 pm

Штатными средствами тоже можно иногда пользоваться. В общем случае надо немножко доработать функции s1 и s2 в области, где они разных знаков и отрицательны (использовать модуль, sign).

Изображение

YuK
Сообщения: 698
Зарегистрирован: Вт дек 09, 2003 7:42 pm

Сообщение YuK » Пн авг 22, 2005 3:23 pm

как вариант можно так - и боковые границы области тоже можно добавить...

Изображение

Леонид
Сообщения: 452
Зарегистрирован: Чт фев 20, 2003 3:31 pm
Откуда: Украина
Контактная информация:

Сообщение Леонид » Пн авг 22, 2005 3:33 pm

А как закрасить фрагмент таким образом?

YuK
Сообщения: 698
Зарегистрирован: Вт дек 09, 2003 7:42 pm

Сообщение YuK » Пн авг 22, 2005 8:04 pm

например так

Изображение

YuK
Сообщения: 698
Зарегистрирован: Вт дек 09, 2003 7:42 pm

Сообщение YuK » Пн авг 22, 2005 8:07 pm

а если область ограничена сложными линиями справа и слева xl(y) и xr(y) - то можно модифицировать следующий подход (он же полезен и при поиске экстремума функции в криволинейной области методом Монте-Карло).

Изображение

uni
Сообщения: 1817
Зарегистрирован: Сб ноя 13, 2004 3:06 pm
Откуда: п.г.т. Излучинск
Контактная информация:

Сообщение uni » Пн авг 22, 2005 8:53 pm

Здорово. Беру на вооружение.