Экстраполяционные значения MATLAB 2D [дубликат]

Обновлено, потому что я получил пониженное голосовое сообщение.

Вот функция:

document.body.setScaledFont = function(f) {
  var s = this.offsetWidth, fs = s * f;
  this.style.fontSize = fs + '%';
  return this
};

Затем преобразуйте все размеры дочерних элементов вашего документа в em или%.

Затем добавьте что-то подобное вашему коду, чтобы установить размер базового шрифта.

document.body.setScaledFont(0.35);
window.onresize = function() {
    document.body.setScaledFont(0.35);
}

http://jsfiddle.net/0tpvccjt/

0
задан Mad Physicist 28 January 2016 в 16:04
поделиться

2 ответа

Эй, пожалуйста, найдите мой код для interp2, он просто возьмет максимальные значения,

function vq = Linear2dInterpWithClipExtrap(x,y,v,xq,yq);

    vq = interp2(x,y,v,xq,yq);

    [XMax, idxVMax] = max(x);
    [XMin, idxVMin] = min(x);

    idxMax = xq > XMax;
    idxMin = xq < XMin;
   if ~isempty(yq(idxMax));
    vq(idxMax) = LinearInterpWithClipExtrap(y,v(:,idxVMax),yq(idxMax));
   end
   if ~ isempty(yq(idxMin))
    vq(idxMin) = LinearInterpWithClipExtrap(y,v(:,idxVMin),yq(idxMin));
   end

   [YMax, idyVMax] = max(y);
    [YMin, idyVMin] = min(y);

    idyMax = yq > YMax;
    idyMin = yq < YMin;
   if ~isempty(xq(idyMax));
    vq(idyMax) = LinearInterpWithClipExtrap(x,v(idyVMax,:),xq(idyMax));
   end
   if ~ isempty(xq(idyMin));
    vq(idyMin) = LinearInterpWithClipExtrap(x,v(idyVMin,:),xq(idyMin));
   end



function vq = LinearInterpWithClipExtrap(x,v,xq);

    vq = interp1(x,v,xq);

    [XMax, idxVMax] = max(x);
    [XMin, idxVMin] = min(x);

    idxMax = xq > XMax;
    idxMin = xq < XMin;

    vq(idxMax) = v(idxVMax);
    vq(idxMin) = v(idxVMin

);

0
ответ дан Alien 18 August 2018 в 14:17
поделиться

Да, есть два способа заставить interp2 вернуть значимое значение за пределы в соответствии с документами .

  1. Использовать интерполяцию 'spline' метод. В отличие от варианта №2 это фактически экстраполирует данные на основе граничных условий сплайна.
  2. Укажите конечный параметр extrapval. Эта константа будет возвращена вместо NaN для всех других методов интерполяции.

К сожалению, не существует способа указать что-то вроде «ближайшего соседа на сетке» или что-то как это. Если элементы out-of bounds близки к ребрам, возможно, вы можете просто расширить входной массив. Например, например:

x = [x(1, 1), x(1, :), x(1, end); ...
     x(:, 1), x, x(:, end); ...
     x(end, 1), x(end, :), x(end, end)]
4
ответ дан rayryeng 18 August 2018 в 14:17
поделиться
  • 1
    Не могли бы вы рассказать о своем первом моменте? Кажется, я не понимаю, что вы пытаетесь сказать. спасибо – Balraj Boyal 28 January 2016 в 16:23
  • 2
    @BalrajBoyal. Не уверен, что не ясно, но я думаю, что новая формулировка прояснит ситуацию. – Mad Physicist 28 January 2016 в 16:57
Другие вопросы по тегам:

Похожие вопросы: