Арифметика с функцией (функциями)
fn = fncmb(function,operation)
f = fncmb(function,function)
fncmb(function,matrix,function)
fncmb(function,matrix,function,matrix)
f = fncmb(function,op,function)
Намерение состоит в том, чтобы дать возможность проводить стандартные линейные операции масштабирования и добавления в пробеле сплайна, не имея необходимость иметь дело явным образом с соответствующими частями включенной функции (функций).
fn = fncmb(function,operation)
возвращает (описание) функцию, полученную путем применения к значениям функции в function
операция задана operation
. Природа операции зависит от ли operation
скаляр, вектор, матрица, или вектор символов или строковый скаляр, можно следующим образом.
Скаляр | Умножьте функцию на тот скаляр. |
Вектор | Добавьте что вектор в значения функции; это требует, чтобы функция была с векторным знаком. |
Матрица | Примените ту матрицу к коэффициентам функции. |
Вектор символов или строковый скаляр | Примените функцию, заданную тем вектором символов или строковым скаляром к коэффициентам функции. |
Остающиеся опции только работают на одномерные функции. Смотрите Ограничения для получения дополнительной информации.
f = fncmb(function,function)
возвращает (описание) pointwise сумму двух функций. Две функции должны иметь ту же форму. Этот конкретный случай всего двух входных параметров не включен в вышеупомянутую таблицу, поскольку это только работает на одномерные функции.
fncmb(function,matrix,function)
совпадает с fncmb(fncmb(function,matrix),function)
.
fncmb(function,matrix,function,matrix)
совпадает с fncmb((fncmb(function,matrix),fncmb(function,matrix)))
.
f = fncmb(function,op,function)
возвращает ppform сплайна, полученного объединением pointwise двух функций, как задано вектором символов или строковым скаляром op
. Аргумент op
может быть один из '+'
, '-'
, или '*'
. Если вторая функция должна быть константой, достаточно просто предоставить здесь что постоянный.
fncmb(fn,3.5)
умножает (коэффициенты) функцию в fn
3,5.
fncmb(f,3,g,-4)
возвращает линейную комбинацию, с весами 3 и –4, функции в f
и функция в g
.
fncmb(f,3,g)
добавляет 3 раза функцию в f
к функции в g
.
Если функциональный f в f
оказывается, со скалярным знаком, затем f3=fncmb(f,[1;2;3])
содержит описание функции, значение которой в x является с 3 векторами (f (x), 2f (x), 3f (x)). Обратите внимание на то, что, в соответствии с соглашением в этом тулбоксе, последующий оператор fnval (f 3, x) возвращает 1 матрицу столбца.
Если f
описывает поверхность в R3, т.е. функция в f
3 вектора, оцененные двумерный, затем f2 = fncmb(f,[1 0 0;0 0 1])
описывает проекцию той поверхности к (x, z) - плоскость.
Следующие команды производят изображение... spirochete?
c = rsmak('circle'); fnplt(fncmb(c,diag([1.5,1]))); axis equal, hold on sc = fncmb(c,.4); fnplt(fncmb(sc,-[.2;-.5])) fnplt(fncmb(sc,-[.2,-.5])) hold off, axis off
Если t
последовательность узла длины n+k
и a
матрица с n
столбцы, затем fncmb(spmak(t,eye(n)),a)
совпадает с spmak(t,a)
.
fncmb(spmak([0:4],1),'+',ppmak([-1 5],[1 -1]))
кусочный полином с пропусками-1:5
это, на интервале [0.. 4], соглашается с функциональным x | → B (x |0,1,2,3,4) + x (но не имеет никакого активного пропуска в 0 или 1, следовательно отличается от этой функции вне интервала [0 .. 4]).
fncmb(spmak([0:4],1),'-',0)
оказывает то же влияние как fn2fm(spmak([0:4],1),'pp')
.
Принятие, что sp
описывает B-форму сплайна порядка <k
, выход
fn2fm(fncmb(sp,'+',ppmak(fnbrk(sp,'interv'),zeros(1,k))),'B-')
описывает B-форму того же сплайна, но с его порядком, повышенным до k
.
fncmb
только работает на одномерные функции, за исключением случая fncmb(function,operation)
т.е. . когда существует всего одна функция во входе.
Далее, если две функции включены, то они должны иметь тот же тип. Это означает, что они должны или оба быть в B-форме или обоих быть в ppform, и, кроме того, иметь те же узлы или пропуски, тот же порядок и ту же цель. Единственным исключением к этому является команда формы fncmb(function,op,function)
.
Коэффициенты извлечены (через fnbrk
) и управляемый на заданной матрицей или операцией (и, возможно, добавленный), затем повторно объединенный с остальной частью функционального описания (через ppmak
, spmak,rpmak,rsmak,stmak
). Безусловно, когда функция рациональна, матрица только применяется к коэффициентам числителя. Снова, если мы должны перевести значения функции данным вектором, и функция находится в ppform, затем только коэффициенты, соответствующие постоянным терминам, так переводятся.
Если существует два входа функций, то они должны иметь тот же тип (см. Ограничения, ниже) за исключением следующего.
fncmb(f1,op,f2)
возвращает ppform функции
с op
один из '+', '-'
, '*'
, и f1
, f2
из произвольной полиномиальной формы. Если, кроме того, f2
скаляр или вектор, это взято, чтобы быть функцией, которая постоянно равна тому скаляру или вектору.