Создайте следующее выражение, представляющее синусоидальную функцию.
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-by-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)]