exponenta event banner

двоеточие,:

Создание символьных векторов, подстрочных индексов массива и forитераторы -loop

Синтаксис

m: n
x: x + r

Описание

пример

m:n возвращает символьный вектор значений [m,m+1,...,n], где m и n являются символьными константами. Если n не является инкрементом m, то последнее значение вектора останавливается перед n. Это поведение сохраняется для всех синтаксисов.

пример

m:d:n возвращает символьный вектор значений [m,m+d,...,n], где d - рациональное число.

пример

x:x+r возвращает символьный вектор значений [x,x+1,...,x+r], где x является символьной переменной и r - рациональное число.

пример

x:d:x+r возвращает символьный вектор значений [x,x+d,...,x+r], где d и r являются рациональными числами.

Примеры

Создание числовых и символьных массивов

Оператор двоеточия используется для создания числовых и символьных массивов. Поскольку эти входные данные не являются символическими объектами, получаются результаты с плавающей запятой.

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

Входные аргументы

свернуть все

Ввод, заданный как символьная константа.

Ввод, заданный как символьная константа.

Ввод, заданный как символьная переменная.

Верхняя граница векторных значений, заданная как символьная рациональная. Например, x:x+2 прибыль [ x, x + 1, x + 2].

Приращение векторных значений, заданных как символьная рациональная величина. Например, x:1/2:x+2 прибыль [ x, x + 1/2, x + 1, x + 3/2, x + 2].

См. также

Представлен до R2006a