Арифметика с функцией (функциями)
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
является скаляром или вектором, он взят, чтобы быть функцией, которая постоянно равна тому скаляру или вектору.