fnval

Выполните функцию сплайна

Синтаксис

v = fnval(f,x)
fnval(x,f)
fnval(...,'l')

Описание

v = fnval(f,x) и v = fnval(x,f) оба предоставляет значению f (x) в точках в x функции сплайна f, описание которого содержится в f.

Примерно говоря, вывод v получен, заменив каждую запись x значением f при той записи. Это буквально верно в случае, если функция в f является со скалярным знаком и одномерной, и является намерением во всех других случаях, за исключением того, что, для d - оценил m - функция варьируемой величины, это означает заменять m - векторы d - векторы. Полное изложение следующие.

Для одномерного f:

  • Если f со скалярным знаком, то v одного размера как x.

  • Если f является [d1,...,dr] - оцененный, и x имеет размер [n1,...,ns], то v имеет размер [d1,...,dr, n1,...,ns], с v(:,...,:, j1,...,js) значение f в x(j1,...,js), – за исключением того, что

    (1) n1 проигнорирован, если это - 1, и s является 2, т.е. если x является вектором - строкой; и

    (2) MATLAB® игнорирует любые запаздывающие одноэлементные размерности x.

Для m - варьируемой величины f с m>1, с f [d1,...,dr] - оцененный, x может быть или массивом или иначе массивом ячеек {x1,...,xm}.

  • Если x является массивом размера, [n1,...,ns] говорит, то n1 должен равняться m, и v имеет размер [d1,...,dr, n2,...,ns], с v(:,...,:, j2,...,js) значение f в x(:,j2,...,js), – за исключением того, что

    (1) d1..., dr проигнорирован в случае, если f со скалярным знаком, т.е. и r и n1 является 1;

    (2) MATLAB игнорирует любые запаздывающие одноэлементные размерности x.

  • Если x является массивом ячеек, то он должен иметь форму {x1,...,xm}, с xj вектор, длины nj, и, в этом случае, v имеет размер [d1,...,dr, n1,...,nm], с v(:,...,:, j1,...,jm) значение f в (x1 (j1)..., xm (jm)), – за исключением того, что d1..., dr проигнорирован в случае, если f со скалярным знаком, т.е. и r и n1 является 1.

Если f имеет разрыв скачка в x, то значение, f (x +), т.е. предел справа, возвращен, кроме тех случаев, когда x равняется правильному концу основного интервала формы; для такого x значение возвращен f (x –), т.е. предел слева.

fnval(x,f) совпадает с fnval(f,x).

fnval(...,'l') обработки f как непрерывный слева. Это означает что, если f имеет разрыв скачка в x, то значение f (x –), т.е. предел слева, возвращено, кроме тех случаев, когда x равняется левому концу основного интервала; для такого x значение возвращен f (x +).

Если функция многомерна, то вышеупомянутые операторы относительно непрерывности слева и права применяют coordinatewise.

Примеры

Выполните функции в заданных точках

Интерполируйте некоторые данные и постройте и выполните получившиеся функции.

Задайте некоторые данные.

 x = [0.074 0.31 0.38 0.53 0.57 0.58 0.59 0.61 0.61 0.65 0.71 0.81 0.97];
 y = [0.91 0.96 0.77 0.5 0.5 0.51 0.51 0.53 0.53 0.57 0.62 0.61 0.31]; 

Интерполируйте данные и постройте получившуюся функцию, f.

f = csapi( x, y )
fnplt( f )

Найдите значение функционального f в x = 0.5.

fnval( f, 0.5 )

Найдите значение функционального f в 0, 0.1, ..., 1.

fnval( f, 0:0.1:1 )

Создайте функциональный f2, который представляет поверхность.

x = 0.0001+(-4:0.2:4);
y = -3:0.2:3;
[yy, xx] = meshgrid( y, x );
r = pi*sqrt( xx.^2+yy.^2 );
z = sin( r )./r;
f2 = csapi( {x,y}, z ); 

Постройте функциональный f2.

fnplt( f2 )
axis( [-5, 5, -5, 5, -0.5, 1] ); 

Найдите значение функционального f2 в x = -2 и y = 3.

fnval( f2, [-2; 3] ) 

Алгоритмы

Для каждой записи x, соответствующего пропуска - или интервал узла определяется и собранная релевантная информация. В зависимости от того, является ли f в ppform или в B-форме, вложенном умножении или повторении B-сплайна (см., например, [PGS; X. (3)]), затем используемый векторный вид для одновременной оценки при всех записях x. Оценка многомерной полиномиальной функции сплайна в полной мере пользуется структурой продукта тензора.

Оценка рационального сплайна развивает оценку соответствующего сплайна с векторным знаком делением всех кроме его последнего компонента его последним компонентом.

Оценка функции в stform делает существенное использование stcol и пытается сохранить матрицы включенными к разумному размеру.

Смотрите также

| | | |

Для просмотра документации необходимо авторизоваться на сайте