массив точек -> на график

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

Модератор: Admin

VAngeL1986
Сообщения: 4
Зарегистрирован: Пт дек 15, 2006 2:00 pm

массив точек -> на график

Сообщение VAngeL1986 » Чт янв 04, 2007 8:02 am

Есть масив точек A[x, y] каким образом можно их вывести на график? (т.е. (A[1, 1], A[1, 2]) - Это 1 точка, (A[2, 1], A[2, 2]) - это 2 точка и т.д. до n). Пытался так:
plot([A[i, 1], A[i, 2]], i=1..n)
ругается... вообще мне бы желательно построить прямые соединяющие эти точки!:) Подскажите пожалуйста как это сделать!
Заранее спасибо!

Irmantas
Сообщения: 589
Зарегистрирован: Ср апр 27, 2005 8:49 pm
Откуда: Литва, Каунас

Re: массив точек -> на график

Сообщение Irmantas » Чт янв 04, 2007 10:53 am

VAngeL1986 писал(а): ...Пытался так:
plot([A[i, 1], A[i, 2]], i=1..n)
ругается... вообще мне бы желательно построить прямые соединяющие эти точки!:) Подскажите пожалуйста как это сделать!
Заранее спасибо!

plot([A[i,1],A[i,2],i=1..n]);

VAngeL1986
Сообщения: 4
Зарегистрирован: Пт дек 15, 2006 2:00 pm

Сообщение VAngeL1986 » Чт янв 04, 2007 8:35 pm

Большое спасибо! Все работает!:)

launcher
Сообщения: 66
Зарегистрирован: Ср дек 10, 2003 7:22 pm

Сообщение launcher » Пт фев 09, 2007 10:05 am

VAngeL1986 писал(а):Большое спасибо! Все работает!:)


Если список здоровый, я делаю так:
with(plots, display, pointplot);

pointplot({[x,y], [x,y] ... }, symbol=box, symbolsise=25, color=magenta);

xyz
Сообщения: 202
Зарегистрирован: Чт мар 24, 2005 3:42 pm

Сообщение xyz » Пт фев 09, 2007 10:39 am

"Если список здоровый", то вообще следует использовать 1-мерный массив либо вектор. Со "здоровыми списками" вообще много проблем, если они действительно здоровые (это неоднократно дебаттировалось). Что же до ответа, то оптимальным является ответ Irmantas.

Андрей М.
Сообщения: 239
Зарегистрирован: Чт апр 21, 2005 3:15 pm

Сообщение Андрей М. » Пт фев 09, 2007 4:35 pm

Launcher, а вообще то при советах следует быть более корректным (проверяя реально в Maple то, что предлагаешь). Вместо вашего

with(plots, display, pointplot); # display здесь ни к чему
pointplot({[x,y], [x,y] ... }, symbol=box, symbolsise=25, color=magenta); # точки следовало бы индексировать, а symbolsize писать правильно

я бы использовал просто вызов

plots[pointplot]({[x1, y1], [x2, y2], ...}, symbol=circle, symbolsize=15, color=red);

Впрочем, Irmantas действительно дал простейшее решение.

martingal
Сообщения: 32
Зарегистрирован: Чт ноя 24, 2005 10:55 am

Сообщение martingal » Пт фев 23, 2007 1:08 pm

А можно ли обобщить все вышепредложенное на трехмерный случай? То есть как построить множество точек вида (x,y,A(x,y)), где A - матрица mxn?
И второй вопрос: а как построить поверхность по этим точкам (аналог соединения на плоскости соседних точек отрезком)?