Создайте следующее выражение, представляющее функцию синуса.
syms w t f = sin(w*t);
Предположим, ваша задача включает в себя создание матрицы, элементы которой являются синусоидальными функциями с скоростями вращения, представленными матрицей Теплица. Сначала создайте матрицу Теплица 4 на 4.
W = toeplitz(sym([3 2 1 0]))
W = [ 3, 2, 1, 0] [ 2, 3, 2, 1] [ 1, 2, 3, 2] [ 0, 1, 2, 3]
Затем замените переменную w в выражении f с матрицей Теплица W. Когда вы заменяете скаляр в символьном выражении на матрицу, subs расширяет выражение в матрицу. В этом примере, subs расширяет f = sin(w*t) в матрицу 4 на 4, элементы которой sin(w*t). Затем он заменяет w в этой матрице с соответствующими элементами матрицы Теплица W.
F = subs(f, w, W)
F = [ sin(3*t), sin(2*t), sin(t), 0] [ sin(2*t), sin(3*t), sin(2*t), sin(t)] [ sin(t), sin(2*t), sin(3*t), sin(2*t)] [ 0, sin(t), sin(2*t), sin(3*t)]
Найдите сумму этих синусоид в t = π, t = π/2, t = π/3, t = π/4, t = π/5, и t = π/6. Во-первых, найдите сумму всех элементов матрицы F. Здесь первый вызов на sum возвращает вектор-строку, содержащую суммы элементов в каждом столбце. Второй вызов на sum возвращает сумму элементов этого вектора-строки.
S = sum(sum(F))
S = 6*sin(2*t) + 4*sin(3*t) + 4*sin(t)
Теперь используйте subs для оценки S для конкретных значений переменной t.
subs(S, t, sym(pi)./[1:6])
[ 0,... 0,... 5*3^(1/2), 4*2^(1/2) + 6,... 2^(1/2)*(5 - 5^(1/2))^(1/2) + (5*2^(1/2)*(5^(1/2) + 5)^(1/2))/2,... 3*3^(1/2) + 6]
Вы также можете использовать subs чтобы заменить скалярный элемент массива матрицы на другую матрицу. В этом случае, subs расширяет матрицу для размещения новых элементов. Для примера замените нулевые элементы матрицы F с помощью вектора-столбца [1;2]. Исходная матрица 4 на 4 F расширяется до матрицы 8 на 4. subs функция дублирует каждую строку исходной матрицы, а не только строки, содержащие нулевые элементы.
F = subs(F, 0, [1;2])
F = [ sin(3*t), sin(2*t), sin(t), 1] [ sin(3*t), sin(2*t), sin(t), 2] [ sin(2*t), sin(3*t), sin(2*t), sin(t)] [ sin(2*t), sin(3*t), sin(2*t), sin(t)] [ sin(t), sin(2*t), sin(3*t), sin(2*t)] [ sin(t), sin(2*t), sin(3*t), sin(2*t)] [ 1, sin(t), sin(2*t), sin(3*t)] [ 2, sin(t), sin(2*t), sin(3*t)]