Итерационные вычисления - Итерационные вычисления - Сообщения

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

Но повторить не получилось.
Спасибо
WroteПочему-то простые вещи даются труднее всего
Откуда взялось 14.
это векторная операция (скалярное произведение), то же самое как [MATH]transpose(i)*i[/MATH] или [MATH]i*i[/MATH]. Если требуется по-элементная операция, тогда обычно необходимы функции for и range. Неявные итерации как в mathcad в SMath к сожалению не существуют. Умножение вектора на скаляр и сложение векторов наверно единственные прямые по-элементные операции.
МК
Работает...
А вот со степенью и различными функциями не выходит...
Если есть возможность определить множество, например i:=1..10
или как в документации "переменная, изменяющаяся в диапазоне"
То какой практический смысл этого определения? Не встречал в примерах.
Для расчёта с множеством значении существует тип "система", которыи создаёется только через петли (программированием, так сказать).
[MATH]v:sys(0;1;1)[/MATH]
[MATH]for(i;range(1;10);el(v;i):i)[/MATH]
[MATH lang=ENG]v=sys(1,2,3,4,5,6,7,8,9,10,10,1)[/MATH]
[MATH lang=ENG]v^2=sys(1,4,9,16,25,36,49,64,81,100,10,1)[/MATH]
[MATH lang=ENG]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)[/MATH]
Мимоходом, вот как получается список квадратов без программирования, зато гораздо смутнее:
[MATH lang=ENG]v:range(1,10)[/MATH]
[MATH lang=ENG]diag(v)*v=mat(1,4,9,16,25,36,49,64,81,100,10,1)[/MATH]
MK
WroteДиапазон просто даёт вектор, которого можно использовать как вектор или в при строении итератора в петлях.
Для расчёта с множеством значении существует тип "система", которыи создаёется только через петли (программированием, так сказать).
МК
Мимоходом, вот как получается список квадратов без программирования, зато гораздо смутнее:
[MATH lang=ENG]v:range(1,10)[/MATH]
[MATH lang=ENG]diag(v)*v=mat(1,4,9,16,25,36,49,64,81,100,10,1)[/MATH]
[MATH]v:sys(0;1;1)[/MATH]
[MATH]for(i;range(1;10);el(v;i):i)[/MATH]
[MATH lang=ENG]v=sys(1,2,3,4,5,6,7,8,9,10,10,1)[/MATH]
[MATH lang=ENG]v^2=sys(1,4,9,16,25,36,49,64,81,100,10,1)[/MATH]
[MATH lang=ENG]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)[/MATH]
По поводу списка квадратов без программирования с использованием оператора for - улыбнуло...:d
Но все равно спасибо!
WroteПочему-то простые вещи даются труднее всего
Кстати, интересную тему подняли... Я пошел чуть дальше и попытался возвести вектор i в 3,4,5... степени. Если степень четная - получается одно число, если нечетное - получается вектор, у которого элементы равны номинальному значению, удвоенному и утроенному значению числа, получаемого при возведении вектора в ту четную степень, которая предшествует нечетной. Вопрос Андрею - можно объяснить механизм, по которому происходят данные расчеты (возведение вектора в степень)?
WroteWrote
Кстати, интересную тему подняли... Я пошел чуть дальше и попытался возвести вектор i в 3,4,5... степени. Если степень четная - получается одно число, если нечетное - получается вектор, у которого элементы равны номинальному значению, удвоенному и утроенному значению числа, получаемого при возведении вектора в ту четную степень, которая предшествует нечетной. Вопрос Андрею - можно объяснить механизм, по которому происходят данные расчеты (возведение вектора в степень)?
возведение в степень - это просто повторное умножение. Умножение совершается в зависимости от типа множителей:
- вектор на число или число на вектор дает по-элементное произведение вектора на число, т.е. вектор
- вектор на вектор дает скалярное произведение, т.е. число
вектор во второй степени: вектор на вектор есть число
вектор в третьей степени: (вектор на вектор) на вектор есть вектор
и.т.д.
МК
Wrote
возведение в степень - это просто повторное умножение. Умножение совершается в зависимости от типа множителей:
- вектор на число или число на вектор дает по-элементное произведение вектора на число, т.е. вектор
- вектор на вектор дает скалярное произведение, т.е. число
вектор во второй степени: вектор на вектор есть число
вектор в третьей степени: (вектор на вектор) на вектор есть вектор
и.т.д.
МК
Спасибо за ответ, честно говоря, я и сам потом до этого додумался.
Но автор, который начинал тему, думал получить вектор с возведенными в квадрат элементами исходного. А это, похоже, только ручками...
-
Новые сообщения
-
Нет новых сообщений