大家好,又见面了,我是你们的朋友全栈君。
matlab插值方法0
* 数学建模暑期培训 数 据 插 值 * 实验目的 实验内容 2、掌握用数学软件包求解插值问题。 1、了解插值的基本内容。 [1]一维插值 [2]二维插值 [3]实验作业 * 拉格朗日插值 分段线性插值 三次样条插值 一 维 插 值 一、插值的定义 二、插值的方法 三、用Matlab解插值问题 返回 * 返回 二维插值 一、二维插值定义 二、网格节点插值法 三、用Matlab解插值问题 最邻近插值 分片线性插值 双线性插值 网格节点数据的插值 散点数据的插值 * 用MATLAB作插值计算 一维插值函数: yi=interp1(x,y,xi,’method’) 插值方法 被插值点 插值节点 xi处的插值结果 ‘nearest’ :最邻近插值‘linear’ : 线性插值; ‘spline’ : 三次样条插值; ‘cubic’ : 立方插值。 缺省时: 分段线性插值。 注意:所有的插值方法都要求x是单调的,并且xi不能够超过x的范围。 * 例:在1-12的11小时内,每隔1小时测量一次温度,测得的温度依次为:5,8,9,15,25,29,31,30,22,25,27,24。试估计每隔1/10小时的温度值。 hours=1:12; temps=[5 8 9 15 25 29 31 30 22 25 27 24]; h=1:0.1:12; t=interp1(hours,temps,h,’spline’); (直接输出数据将是很多的) plot(hours,temps,‘+’, hours,temps,‘r:’, h,t,) %作图 xlabel(‘Hour’),ylabel(‘Degrees Celsius’) * ? ? ? ? ? ? ? ? ? x y 机翼下轮廓线 例 已知飞机机翼下轮廓线上数据如下,求x每改变0.1时的y值。 * 二维插值的定义 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? x y O 第一种(网格节点): * 已知 m?n个节点 其中 互不相同,不妨设 构造一个二元函数 通过全部已知节点,即 再用 计算插值,即 * 第二种(散乱节点): ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? y x 0 * 已知n个节点 其中 互不相同, 构造一个二元函数 通过全部已知节点,即 再用 计算插值,即 返回 * 要求x0,y0单调;x,y可取为矩阵,或x取行向量,y取为列向量,x,y的值分别不能超出x0,y0的范围。 z=interp2(x0,y0,z0,x,y,’method’) 被插值点 插值方法 用MATLAB作网格节点数据的插值 插值节点 被插值点的函数值 ‘nearest’ 最邻近插值 ‘linear’ 双线性插值 ‘cubic’ 双三次插值 ‘spline’ 三次样条函数 * 例:测得平板表面3*5网格点处的温度分别为: 82 81 80 82 84 79 63 61 65 81 84 84 82 85 86 试作出平板表面的温度分布曲面z=f(x,y)的图形。 输入以下命令: x=1:5; y=1:3; temps=[82 81 80 82 84;79 63 61 65 81;84 84 82 85 86]; mesh(x,y,temps) 1.先在三维坐标画出原始数据,画出粗糙的温度分布曲图. 2.以平滑数据,在x、y方向上每隔0.2个单位的地方进行插值. * 再输入以下命令: xi=1:0.2:5; yi=1:0.2:3; zi=interp2(x,y,temps,xi’,yi,’cubic’); mesh(xi,yi,zi) 画出插值后的温度分布曲面图.
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/136252.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...