Создайте символьные векторы, индексирование массивов и for
-цикл итераторы
Используйте оператор двоеточия, чтобы создать числовой и символьные массивы. Поскольку эти входы не являются символическими объектами, вы получаете результаты с плавающей точкой.
1/2:7/2
ans = 0.5000 1.5000 2.5000 3.5000
Чтобы получить символьные результаты, преобразуйте входы в символические объекты.
sym(1/2):sym(7/2)
ans = [ 1/2, 3/2, 5/2, 7/2]
Задайте используемый шаг.
sym(1/2):2/3:sym(7/2)
ans = [ 1/2, 7/6, 11/6, 5/2, 19/6]
syms x x:x+2
ans = [ x, x + 1, x + 2]
Задайте используемый шаг.
syms x x:3/7:x+2
ans = [ x, x + 3/7, x + 6/7, x + 9/7, x + 12/7]
Получите шаги между x
и 2*x
в интервалах x/3
.
syms x x:x/3:2*x
ans = [ x, (4*x)/3, (5*x)/3, 2*x]
Найдите продукт первых четырех членов гармонического ряда.
syms x p = sym(1); for i = x:x+3 p = p*1/i; end p
p = 1/(x*(x + 1)*(x + 2)*(x + 3))
Использовать expand
для получения полного полинома.
expand(p)
ans = 1/(x^4 + 6*x^3 + 11*x^2 + 6*x)
Использовать subs
для замены x
с 1
и найти продукт во фракциях.
p = subs(p,x,1)
p = 1/24
Использовать vpa
для возврата результата в виде значения с плавающей точкой.
vpa(p)
ans = 0.041666666666666666666666666666667
Можно также выполнить описанные операции в одной строке кода.
vpa(subs( expand(prod(1./(x:x+3))) ,x,1))
ans = 0.041666666666666666666666666666667