РЕ-БЯ-ТА! НА ФОРУМЕ СТАЛО ЧТО-ТО СКУЧНОВАТО!

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

Модератор: Admin

IVAA
Сообщения: 148
Зарегистрирован: Пт ноя 26, 2004 9:38 pm

РЕ-БЯ-ТА! НА ФОРУМЕ СТАЛО ЧТО-ТО СКУЧНОВАТО!

Сообщение IVAA » Чт фев 03, 2005 8:55 pm

Это относится к завсегдатаям форума.Была предновогодняя вспышка активности, сейчас тишина!Как-то , прямо стыдно (и за себя в том числе).В любом деле нужен организатор-руководитель, который бы выдавал задание ( прошу не возмущаться) или форумчане выбирали тему или несколько тем и над ними работали.Иначе получается распыленность и незаконченность.Все ждут, что кто-то выдаст что-то новое, хотя есть уже материал, который можно обсуждать , развивать , уточнять и т.д.Такая ситуация сложилась, по-видимому, из-за жадности.

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

Сообщение Леонид » Чт фев 03, 2005 9:33 pm

Кстати, я заметил: многие вспышки активности определяются не самой темой, которая вынесена на обсуждение, а каким-либо нюансом, всплывающим в ходе этого обсуждения, в результате чего исходный вопрос теряется далеко позади, как, например, в теме "Можно ли в маткаде объединить несколько ф-ций в одну ?". Зато интересно.
А вот многие темы, которые казалось бы должны вызвать интерес, большого резонанса не вызывают и быстренько затухают.

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

Сообщение VFO » Пт фев 04, 2005 4:46 pm

Самый лучший форум - это скучный форум: задал вопрос - получил ясный ответ. Для "веселья" есть другие сайты...

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

Сообщение VFO » Пт фев 04, 2005 5:32 pm

Если кто хочет "повеселиться", то пусть создат функций с именем Range2Vector(Range), возвращающую вектор, повторяющий переменную области:
Range:=-9,-7;12
Range2Vector(Range)^T=[-9 -7 ... 11]
Это одна из пока еще не решенных задач Mathcad.
Могу еще подбросить подобных задач.

cybermax
Сообщения: 345
Зарегистрирован: Чт сен 02, 2004 2:11 pm
Откуда: Харьков
Контактная информация:

Сообщение cybermax » Пт фев 04, 2005 7:15 pm

На сколько я знаю, переменная типа "дискретный аргумент" (Range), не может выступать в качестве парамтра функции, т.к. в этой переменной нет самих данных, а лишь указание на диапазон. Причем нельзя даже узнать границы диапазона, т.к. к ним никак нельзя обратиться. См. прим. ниже...

В пример стоит k*10 - это описка. Даже если просто поставить k, то тоже ничего работать не будет. Есть, скорее всего, единственный вариант это написать, воспользовавшись С++

Изображение
Последний раз редактировалось cybermax Пт фев 04, 2005 7:17 pm, всего редактировалось 1 раз.

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

Сообщение VFO » Сб фев 05, 2005 1:04 pm

Переменная "дискретных отсортированных вещественных или размерных значений" (объявляю конкурс на лучший перевод термина Range Variable) может выступать в качестве аргумента функции. Но в этом случае функция будет иметь тип Range.
Минизадание.
Написать процедуру, подобную функции length, но которая возвращала бы длину не вектора, а Range Variable.
На "большом" форуме я выложил решение. Чур, не подглядывать!
Последний раз редактировалось VFO Сб фев 05, 2005 1:08 pm, всего редактировалось 1 раз.

BAT
Сообщения: 621
Зарегистрирован: Пн окт 25, 2004 5:16 pm

Сообщение BAT » Сб фев 05, 2005 8:19 pm

В результате надо получить что-то вроде этого? Или я что-то не так понял?

Изображение

cybermax
Сообщения: 345
Зарегистрирован: Чт сен 02, 2004 2:11 pm
Откуда: Харьков
Контактная информация:

Сообщение cybermax » Пн фев 07, 2005 1:52 pm

Народ, я МС работаю со времен царя горохо, однако ваши изыскания для меня большой серет, который хотелось бы знать. Если жалко выложить данную информацию здесь, ПЛЗ намыльте: cybermax@kpi.kharkov.ua

Я никому не скажу :))

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

Сообщение VFO » Пн фев 07, 2005 3:54 pm

To BAT.
Да, нужна именно такая функция.
Range2Vector(Range):=...
Range:=-9,-7;12
V:=Range2Vector(Range)
V^T=[-9 -7 ... 11]

cybermax
Сообщения: 345
Зарегистрирован: Чт сен 02, 2004 2:11 pm
Откуда: Харьков
Контактная информация:

Сообщение cybermax » Пн фев 07, 2005 8:10 pm

Это то я понял, меня интересует тело функции Range2Vector - это для меня большой секрет и большая новость.

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

Сообщение VFO » Вт фев 08, 2005 10:25 am

Решение на поверхности:
не
RV:=-9,-7..11
а
a:=-9 b:=-7 c:=11
RV:=a,b..c
А вообще-то.
Считается высшим стилем программировать без GOTO и создавать Mathcad-документы без Range Variable. Этот тип переменных был незаменим в старых версиях Mathcad без цикла for-loop. Сейчас мы его используем по привычке и для некоторого облегчения работы - как GOTO в программах...

cybermax
Сообщения: 345
Зарегистрирован: Чт сен 02, 2004 2:11 pm
Откуда: Харьков
Контактная информация:

Сообщение cybermax » Ср фев 09, 2005 4:07 pm

Вообще говоря, я всегда пользуюсь структурой a:=-9 b:=-7 c:=11 ++ RV:=a,b..c для создания таких переменных и использования их в расчетах, т.е. правильней сказать, что я не пользуюсь записью RV:=-9,-7..11, т.к. это, как правило, лишает программу универсальности.

BAT
Сообщения: 621
Зарегистрирован: Пн окт 25, 2004 5:16 pm

Сообщение BAT » Чт фев 10, 2005 9:35 am

C самого начала задачу я переформулировал для себя так:
Переменная изменяющаяся дискретно в диапазоне от a до с с постоянным шагом b - a состоит из определенного числа значений представляемых скалярно. Необходимо создать функцию, возвращающую вектор, повторяющий эти значения. Такая формулировка задачи позволяет очень просто создать функцию Range2Vector(a,b,c) (а не Range2Vector(Range)). До сих пор гложут сомнения (так как уж что-то всё очень просто получается) о корректности изменений в постановки задачи (отличия я чётко понимаю) и толи надо было получить в конечном результате.

Изображение

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

Сообщение VFO » Чт фев 10, 2005 1:06 pm

Range2Vector(a,b,c)= - это тривиально
нужно
Range2Vector(RangeVariable)
или проще
нужно научиться вызвращать первое и второе значения RangeVariable. Сумму значений RangeVariable вернуть просто.

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

Сообщение YuK » Пт фев 11, 2005 12:10 pm

To IVAA Вас как любителя подстановок, перестановок и кубика Рубика - может заинтересует такая задача (что бы не скучать) - ее конечно лучше в GAPе смотреть...

Имеется матрица A(N*N), содержащая все числа от 1 до N^2 в беспорядке, и имется "перестановка" T(i,j) (i=1..N-1,j=1..N-1), которая меняет местами элементы в четырех соседних клетках A(i,j)->A(i+1,j)->A(i+1,j+1)->A(i,j+1)-> A(i,j). Каким условиям должна удовлетворять исходная матрица, чтобы существовала цепочка таких "перестановок" приводящая матрицу к упорядоченной в строках и столбцах т.е. А(1,1)=1, A(1,2)=2...? Требуется дать алгоритм поиска "цепочки" минимальной длины.

YuK