colon, :

Создайте символьные векторы, индексирование массивов и for-цикл итераторы

Синтаксис

Описание

пример

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]

Найти продукт серии Harmonic

Найдите продукт первых четырех членов гармонического ряда.

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