Русскоязычный форум закрыт из-за отсутствия активности (доступен только для чтения).
Пожалуйста, пользуйтесь англоязычной его версией. Приносим извинения за неудобства
Добро пожаловать, Гость! Чтобы использовать все возможности Вход. Новые регистрации запрещены.

Уведомление

Icon
Error

Вход


Опции
К последнему сообщению К первому непрочитанному
Offline grinnik  
#1 Оставлено : 27 октября 2012 г. 15:30:57(UTC)
grinnik

Статус: Newbie

Группы: Registered
Зарегистрирован: 24.10.2012(UTC)
Сообщений: 5
Украина

Почему-то простые вещи даются труднее всего


Откуда взялось 14. Я ведь не просил суммировать.
Можно ли по аналогии с MathCAD получить массив квадратов без программирования.
Если нет, то как сделать "поизящнее". Может я где-то в примерах не заметил?

В одной из веток встретил такое

Но повторить не получилось.

Спасибо

Отредактировано пользователем 27 октября 2012 г. 16:08:01(UTC)  | Причина: Не указана

Wanna join the discussion?! Login to your Форум проекта SMath forum account. Новые регистрации запрещены.

Offline mikka  
#2 Оставлено : 27 октября 2012 г. 15:57:37(UTC)
mikka


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 21.01.2009(UTC)
Сообщений: 182
Мужчина
Откуда: Волгоград

Сказал «Спасибо»: 126 раз
Поблагодарили: 36 раз в 22 постах
Вот пример..
Вложение(я):
Лист1.sm (5kb) загружен 57 раз(а).
Не официальный справочник http://sites.google.com/site/mikkhalichlab/
jabber конференция smath@conference.jabber.ru
Offline grinnik  
#3 Оставлено : 27 октября 2012 г. 17:27:49(UTC)
grinnik

Статус: Newbie

Группы: Registered
Зарегистрирован: 24.10.2012(UTC)
Сообщений: 5
Украина

Спасибо большое. Все понятно, но я пытаюсь подготовить несколько лабораторных работ для студентов.
А для них это пока сложно.
Я все-таки смог повторить пример с картинки выше.


Насколько это корректно?
Просто не пойму, чем этот пример отличается от того, что я приводил выше?

Извините.
Offline mkraska  
#4 Оставлено : 27 октября 2012 г. 19:40:28(UTC)
mkraska


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 27.10.2012(UTC)
Сообщений: 73
Германия

Сказал(а) «Спасибо»: 397 раз
Поблагодарили: 45 раз в 35 постах
Автор: grinnik Перейти к цитате
Почему-то простые вещи даются труднее всего


Откуда взялось 14.

это векторная операция (скалярное произведение), то же самое как transpose(i)*i или i*i. Если требуется по-элементная операция, тогда обычно необходимы функции for и range. Неявные итерации как в mathcad в SMath к сожалению не существуют. Умножение вектора на скаляр и сложение векторов наверно единственные прямые по-элементные операции.

МК

Martin Kraska

Неоффицальная портативная версия SMath с дополнениями http://smath.info/wiki/SMath%20with%20Plugins.ashx
Offline mikka  
#5 Оставлено : 27 октября 2012 г. 19:43:43(UTC)
mikka


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 21.01.2009(UTC)
Сообщений: 182
Мужчина
Откуда: Волгоград

Сказал «Спасибо»: 126 раз
Поблагодарили: 36 раз в 22 постах
Пробовал простые действия: + - * /
Работает...
А вот со степенью и различными функциями не выходит...

Отредактировано пользователем 27 октября 2012 г. 19:46:31(UTC)  | Причина: Не указана

Не официальный справочник http://sites.google.com/site/mikkhalichlab/
jabber конференция smath@conference.jabber.ru
Offline grinnik  
#6 Оставлено : 27 октября 2012 г. 21:15:55(UTC)
grinnik

Статус: Newbie

Группы: Registered
Зарегистрирован: 24.10.2012(UTC)
Сообщений: 5
Украина

Кажется разобрался более-менее. Спасибо за помощь. Единственное, терзают "смутные сомнения".
Если есть возможность определить множество, например i:=1..10
или как в документации "переменная, изменяющаяся в диапазоне"
То какой практический смысл этого определения? Не встречал в примерах.
Offline mkraska  
#7 Оставлено : 28 октября 2012 г. 2:36:29(UTC)
mkraska


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 27.10.2012(UTC)
Сообщений: 73
Германия

Сказал(а) «Спасибо»: 397 раз
Поблагодарили: 45 раз в 35 постах
Диапазон просто даёт вектор, которого можно использовать как вектор или в при строении итератора в петлях.
Для расчёта с множеством значении существует тип "система", которыи создаёется только через петли (программированием, так сказать).

v:sys(0;1;1)

for(i;range(1;10);el(v;i):i)


v=sys(1,2,3,4,5,6,7,8,9,10,10,1)

v^2=sys(1,4,9,16,25,36,49,64,81,100,10,1)


sin(v)=sys(0.84,0.91,0.14,-0.76,-0.96,-0.28,0.66,0.99,0.41,-0.54,10,1)

Мимоходом, вот как получается список квадратов без программирования, зато гораздо смутнее:

v:range(1,10)

diag(v)*v=mat(1,4,9,16,25,36,49,64,81,100,10,1)

MK

Отредактировано пользователем 31 октября 2012 г. 1:27:21(UTC)  | Причина: Избежание недоразумении

Martin Kraska

Неоффицальная портативная версия SMath с дополнениями http://smath.info/wiki/SMath%20with%20Plugins.ashx
thanks 3 пользователей поблагодарили mkraska за этот пост.
mikka оставлено 28.10.2012(UTC), mikekaganski оставлено 28.10.2012(UTC), kasper оставлено 30.10.2012(UTC)
Offline kasper  
#8 Оставлено : 30 октября 2012 г. 13:19:04(UTC)
kasper


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 21.05.2009(UTC)
Сообщений: 155
Мужчина
Российская Федерация
Откуда: Россия, Новочеркасск

Сказал «Спасибо»: 21 раз
Поблагодарили: 13 раз в 9 постах
Автор: mkraska Перейти к цитате
Диапазон просто даёт вектор, которого можно использовать как вектор или в при строении итератора в петлях.
Для расчёта с множеством значении существует тип "система", которыи создаёется только через петли (программированием, так сказать).

МК

Мимоходом, вот как получается список квадратов без программирования, зато гораздо смутнее:

v:range(1,10)

diag(v)*v=mat(1,4,9,16,25,36,49,64,81,100,10,1)



v:sys(0;1;1)

for(i;range(1;10);el(v;i):i)


v=sys(1,2,3,4,5,6,7,8,9,10,10,1)

v^2=sys(1,4,9,16,25,36,49,64,81,100,10,1)


sin(v)=sys(0.84,0.91,0.14,-0.76,-0.96,-0.28,0.66,0.99,0.41,-0.54,10,1)


По поводу списка квадратов без программирования с использованием оператора for - улыбнуло...Biggrin
Но все равно спасибо!
Offline kasper  
#9 Оставлено : 30 октября 2012 г. 15:43:53(UTC)
kasper


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 21.05.2009(UTC)
Сообщений: 155
Мужчина
Российская Федерация
Откуда: Россия, Новочеркасск

Сказал «Спасибо»: 21 раз
Поблагодарили: 13 раз в 9 постах
Автор: grinnik Перейти к цитате
Почему-то простые вещи даются труднее всего




Кстати, интересную тему подняли... Я пошел чуть дальше и попытался возвести вектор i в 3,4,5... степени. Если степень четная - получается одно число, если нечетное - получается вектор, у которого элементы равны номинальному значению, удвоенному и утроенному значению числа, получаемого при возведении вектора в ту четную степень, которая предшествует нечетной. Вопрос Андрею - можно объяснить механизм, по которому происходят данные расчеты (возведение вектора в степень)?
Offline mkraska  
#10 Оставлено : 31 октября 2012 г. 1:19:50(UTC)
mkraska


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 27.10.2012(UTC)
Сообщений: 73
Германия

Сказал(а) «Спасибо»: 397 раз
Поблагодарили: 45 раз в 35 постах
Автор: kasper Перейти к цитате
Автор: grinnik Перейти к цитате

Кстати, интересную тему подняли... Я пошел чуть дальше и попытался возвести вектор i в 3,4,5... степени. Если степень четная - получается одно число, если нечетное - получается вектор, у которого элементы равны номинальному значению, удвоенному и утроенному значению числа, получаемого при возведении вектора в ту четную степень, которая предшествует нечетной. Вопрос Андрею - можно объяснить механизм, по которому происходят данные расчеты (возведение вектора в степень)?


возведение в степень - это просто повторное умножение. Умножение совершается в зависимости от типа множителей:
- вектор на число или число на вектор дает по-элементное произведение вектора на число, т.е. вектор
- вектор на вектор дает скалярное произведение, т.е. число
вектор во второй степени: вектор на вектор есть число
вектор в третьей степени: (вектор на вектор) на вектор есть вектор
и.т.д.

МК


Martin Kraska

Неоффицальная портативная версия SMath с дополнениями http://smath.info/wiki/SMath%20with%20Plugins.ashx
Offline kasper  
#11 Оставлено : 31 октября 2012 г. 9:42:23(UTC)
kasper


Статус: Advanced Member

Группы: Registered
Зарегистрирован: 21.05.2009(UTC)
Сообщений: 155
Мужчина
Российская Федерация
Откуда: Россия, Новочеркасск

Сказал «Спасибо»: 21 раз
Поблагодарили: 13 раз в 9 постах
Автор: mkraska Перейти к цитате

возведение в степень - это просто повторное умножение. Умножение совершается в зависимости от типа множителей:
- вектор на число или число на вектор дает по-элементное произведение вектора на число, т.е. вектор
- вектор на вектор дает скалярное произведение, т.е. число
вектор во второй степени: вектор на вектор есть число
вектор в третьей степени: (вектор на вектор) на вектор есть вектор
и.т.д.

МК




Спасибо за ответ, честно говоря, я и сам потом до этого додумался.
Но автор, который начинал тему, думал получить вектор с возведенными в квадрат элементами исходного. А это, похоже, только ручками...

Отредактировано пользователем 31 октября 2012 г. 9:46:34(UTC)  | Причина: Не указана

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