插值问题描述:已知一个函数上的若干点,但函数具体表达式未知,现在要利用已知的若干点求在其他点处的函数值,这个过程就是插值的过程.

1.一维插值

一维插值就是给出y=f(x)上的点(x1,y1),(x2,y2),…,(xn,yn),由此求出y=f(x)在点xa处的值ya的值.

实现一维插值使用interp1命令,使用参数为interp1(x,y,xa,’method’) ,其中x和y是已知点对应横纵坐标,xa为代求值的横坐标,method参数代表插值类型,参数可以选择的选项如下表,若缺省则为linear.

method                含义                     特   点

linear               线性插值             快,精度不高

cubic           三次多项式插值      较慢,精度高,平滑

spline          三次样条插值          最慢,精度高,最平滑

例如,求y=xln(x)的插值问题,代码如下

%为了说明插值问题,根据已知函数构造一组插值点

%而实际问题中,只有这些点,函数是未知的

x = 0.2:0.4:2;

y = x.*log(x);%构造一组插值点

plot(x,y,'o');

xa =0.2:0.1:2;%d代求y值得x值点

ya = interp1(x,y,xa,'cubic');

hold on;

plot(xa,ya,'b-');

box on;

hold on;

fplot(@(x)x*log(x),[0.2,2]);

legend('插值点','三次多项式插值','原图');%图例

2.二维插值

二维插值就是给出z=f(x,y)上的点(x1,y1,z1),…,(xn,yn,zn),由此求出在(xa,ya)处求出za的值.实现一维插值使用interp2命令,使用参数为interp1(x,y,z,xa,ya,’method’),参数含义与interp1类似.

例如,求z = exp(-x^2-y^2)的空间插值问题,代码如下

x = linspace(-2,2,10);

y = linspace(-2,2,10);

[X,Y] = meshgrid(x,y);

Z = exp(-X.^2 - Y.^2);

subplot(1,2,1);

surf(X,Y,Z);

title('插值点曲图');

hold on;

xa = linspace(-2,2,50);

ya = linspace(-2,2,50);

[Xa,Ya] = meshgrid(xa,ya);

Za = interp2(X,Y,Z,Xa,Ya,'cubic');

subplot(1,2,2);

surf(Xa,Ya,Za);

title('三次插值曲面');

MATLAB二维插值和三维插值的更多相关文章

  1. TurboCAD Pro for Mac(二维绘图和三维建模工具)破解版安装

    1.软件简介    TurboCAD Pro 是 macOS 系统上一款二维绘图和三维建模工具,具备强大的绘图和设计特性,加上强大的创建复杂的三维模型的工具,三维 OpenGL 的渲染,和超过 11, ...

  2. php基础------将二维数组转三维数组

    将二维数组转为三维数组 /** * 二维数组转三维数组(指定键为三维数组的键名) * @param [type] $arr [要排序的数组] * @param [type] $key [指定的键] * ...

  3. matlab二维插值--interp2与griddata

    二者均是常用的二维插值方法,两者的区别是, interp2的插值数据必须是矩形域(X,Y必须分别是单调向量),即已知数据点(x,y)组成规则的矩阵,或称之为栅格,可使用meshgid生成. gridd ...

  4. matlab 画二维图与三维图

    二维图 ezplot('sin(x)');%默认范围 ezplot('sin(x)',[-4 4]);%自己设定范围 三维图 ezmesh('x*x+y*y');%默认范围

  5. openGL实现二维图形和三维图形

    openGL是一个强大的底层图形库,其命令最初的时候使用C语言实现的.openGL定义了一个图形程序接口,常用于制作处理三维图像,功能强大,调用方便,在图像处理十分受欢迎. 实现图形主要使用的是ope ...

  6. UWP开发-二维变换以及三维变换

    在开发中,由于某些需求,我们可能需要做一些平移,缩放,旋转甚至三维变换,所以我来讲讲在UWP中这些变换的实现方法. 一. 二维变换: UIElement.RenderTransform a.Trans ...

  7. SuperMap 二维地图和三维场景弹窗窗口大小控制

    注:此处所说的弹窗窗口,主要指的是那些弹窗窗口中嵌入iframe,包含信息页面的窗口大小控制. 1.首先来了解下 SuperMap 示例中的处理方案 二维的处理方式 //初始化Anchored类 po ...

  8. 卷积神经网络(CNN)之一维卷积、二维卷积、三维卷积详解

    作者:szx_spark 由于计算机视觉的大红大紫,二维卷积的用处范围最广.因此本文首先介绍二维卷积,之后再介绍一维卷积与三维卷积的具体流程,并描述其各自的具体应用. 1. 二维卷积 图中的输入的数据 ...

  9. Matlab 二维绘图函数(plot类)

    plot 功能 绘制二维图形的最基本函数. 语法 //x为向量时,以x的元素值为纵坐标,x的序号为横坐标绘制曲线. //x为矩阵时,以其序号为横坐标,按列绘制每列元素值相对于其序号的曲线. polt( ...

随机推荐

  1. 【转载】Linux升级NTPD服务器-编译安装ntp-4.2.8p12与配置

    [转载]Linux升级NTPD服务器-编译安装ntp-4.2.8p12与配置 1. 系统与软件版本 1.1 系统版本 rhel6.4(Red Hat Enterprise Linux Server r ...

  2. 搭建Elasticsearch 5.4分布式集群

    多机集群中的节点可以分为master nodes和data nodes,在配置文件中使用Zen发现(Zen discovery)机制来管理不同节点.Zen发现是ES自带的默认发现机制,使用多播发现其它 ...

  3. Action中使用Json

    1.前台页面中的ajax: //根据部门查询该部门下的用户列表 function doSelectDept(){ //1.获取部门 var dept = $("#toCompDept opt ...

  4. StrutsResultSupport的使用

    在有特殊情况时:如果没有异常信息,但是有错误并且有错误信息等内容:此时也需要进行友好的错误处理的话,那么可以借助StrutsResultSupport 返回结果类型来实现特定处理.此种方式先需要继承S ...

  5. 【bzoj3122】[Sdoi2013]随机数生成器 BSGS思想的利用

    题目描述 给出递推公式 $x_{i+1}=(ax_i+b)\mod p$ 中的 $p$.$a$.$b$.$x_1$ ,其中 $p$ 是质数.输入 $t$ ,求最小的 $n$ ,使得 $x_n=t$ . ...

  6. [Leetcode] Copy list with random pointer 对带有任意指针的链表深度拷贝

    A linked list is given such that each node contains an additional random pointer which could point t ...

  7. [Leetcode] subsets ii 求数组所有的子集

    Given a collection of integers that might contain duplicates, S, return all possible subsets. Note: ...

  8. C++——编程常见错误

    C++库函数 C++标准库比C标准库要复杂很多,需要大家认真学习.C++标准库建立时间较晚,解决了C标准库的一些问题.通过认真学习.熟练掌握会对代码质量的提高有一定帮助. 一些建议: 1. 尽量使用迭 ...

  9. underscore的bind和bindAll方法

    bind方法和bindAll方法都是用来设定函数的this值的,区别是调用方式不同. var xiaoming = { say:function(){ console.log('I am xiaomi ...

  10. JS Cookie相关操作

    function setCookie(cookieName, cookieValue, expires) { // 设置Cookie function getCookieName(cookieName ...