分段线性插值

2023-11-18


N=10;            %%定义插值节点的个数
x=-5:10/N:5;     %%依据课本xi=-5+i*h(i=0,1,...N),h=10/N
y=x./(1+x.^4);   %%依据课本(1)插值公式
xi=-5:0.25:5;    %%依据课本xk=-5+0.25k(k=0,1,...40)
m=length(x);     %%求出插值节点向量长度
n=length(y);
s=zeros(1,length(xi));
if m ~= n , error('向量x与y的长度必须一致');
    %%这里肯定一致,只是为了消除直接选取x,y数据的时候出错而设定的
end;
%%这里定义一个长度为计算节点个数的单位向量,可以加快运行速度
for m=1:length(xi)
    for b=1:n
        if (xi(m)>x(b))&&(xi(m)<=x(b+1))
            %%寻找取值区间
            s(m)=(xi(m)-x(b))*(y(b)-y(b+1))/(x(b)-x(b+1))+y(b);
            %%两点式直线公式
        else
            continue
        end
    end
end




fprintf('\t\t\t插值点X\t\t插值点Y\n');


for i=1:length(x)
    fprintf('I(%2.0f)\t\t%5.3f\t\t%5.3f\n',i,x(i),y(i));
end
fprintf('\t\t\t计算点X\t\t计算点Y\n');
for i=1:length(s)
    fprintf('I(%2.0f)\t\t%5.3f\t\t%5.3f\n',i,xi(i),s(i));
    
end
hold on
%以下是设置绘图区域的相关指令


plot(x,y,'r*');
ezplot('x./(1+x.^4)',[-5,5]);
plot(xi,s,'k-');
plot(xi,s,'go');


title('分段线性插值');
legend('插值点','原始函数','分段线性插值函数','计算点');
xlabel('x的取值');
ylabel('y的取值');
axis([-5,5,min([min(y) min(f)])-0.2,max([max(y) max(f)])+0.2]);
set(gca,'xtick',[-5:0.25:5]);
set(gca,'ytick',[-10:0.1:10]);
grid on
hold off

 

 

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

分段线性插值 的相关文章

随机推荐

  • ubuntu终止terminal中下载任务以及继续下载

    ctrl c是终止正在下载的任务 wget c URL是继续刚才终止的那个任务
  • 22 年国内最牛的 Java 面试八股文合集(全彩版),不接受反驳

    很多小伙伴从四月份就开始准备面试了 截止现在已经过去 2 个多月的时间 显然这段时间的准备没有白费 很多小伙伴都报喜 成功拿到了 XX 公司的 Offer 下面我把这段时间给小伙伴本准备的 Java 面试八股文合集 全彩版 拿出来 来帮助没
  • Python 字符串拼接 ‘+=‘ 和 ‘join()‘ 谁的速度更快?

    一 字符串拼接的两种方法 程序当中经常出现需要不断接收新字符串并将这些字符串组成新字符串输出的情况 该方法一般有两种解决方案 创建一个空字符串 test str 将每次新传入的 new str 使用 test str new str 的方式
  • 面试题 02.07. 链表相交

    给你两个单链表的头节点 headA 和 headB 请你找出并返回两个单链表相交的起始节点 如果两个链表没有交点 返回 null 图示两个链表在节点 c1 开始相交 来源 力扣 LeetCode 链接 https leetcode cn p
  • Linux内核中PF_KEY协议族的实现(4)

    本文档的Copyleft归yfydz所有 使用GPL发布 可以自由拷贝 转载 转载时请保持文档的完整性 严禁用于任何商业用途 msn yfydz no1 hotmail com 来源 http yfydz cublog cn 6 通知回调处
  • Android高级工程师普遍进阶难题:遇到瓶颈我们该如何去提升自己?哪个方向

    不要抱怨 抱怨无济于事 只能带来负能量 最重要的是改变 7 坚持写博客和技术文章 多总结 多参与开源项目 8 选择一家好的有发展前途的公司陪其成长 当发现现在公司不能满足自己的成长和发展时 果断跳槽 因为人生毕竟最宝贵的是时间 特别是程序员
  • 《图解算法》总结

    最近快速阅读了 图解算法 这本算法的入门书 对其中的一些知识点做了总结 使用递归函数需要确定基线条件和递归条件 调用栈 在调用一个函数的时候 当前函数暂停并处于未完成状态 分而治之 D C算法 找出基线条件 然后不断将问题分解 直到符合基线
  • [springboot+thymeleaf ] 前台js读取后台传值

    后台代码 通过ModelAndView类型返回 RequestMapping value list method RequestMethod GET public ModelAndView list RequestParam value p
  • Windows 任务管理器 PF使用率 总数 核心内存 物理内存(转)

    1 CPU 使用 CPU的使用百分比 柱状图表示实时的CPU使用率 2 CPU 使用记录 CPU使用量随时间的变化曲线 其中红线则表示系统内核的使用率 红线需点击任务管理器的查看菜单 选中 显示内核时间 项 3 PF 使用 PF是页面文件
  • 550 Mailbox unavailable or access denied

    今天还处理了另外一个问题就是用户发往vip qq com 没有发送成功 还被退信
  • python中summary_看懂python3 之statsmodels包summary的参数解释

    放上代码例子 coding utf 8 import pandas as pd import matplotlib pyplot as plt import matplotlib import numpy as np import time
  • 信息安全中常用术语介绍

    转自 https www hi linux com posts 56503 html 我们在一些重大的安全事件发生后 经常会在相关新闻或文档中看到一些相关的安全术语 比如 VUL CVE Exp PoC 等 今天我们就来对这些常用术语的具体
  • 利用ajax获取服务器时间,并显示

    p p
  • MySQL 系列第一天

    MySQL 系列第一天 这篇文章是黑马程序员 MySQL 教程的笔记 好好学习哦 和 MySQL 数据库的交互 客户端单向连接认证 连接服务器 认证身份 MySQL 数据库属于 C S 架构 所以开启服务器程序后 需要通过客户端连接它 My
  • latex插入空白行

    1 2 行距 例如 3pt
  • 对话框中添加视图方法- CScrollView

    对话框中使用视图方法 今天工作过程中 又遇到了显示图片问题 为此把以前的代码整理一下 通过使用自定义的类继承CScrollView类 是图片或文字等 等能够通过滑块进行自动操作显示 记录查询 步骤 1 建立基本对话框程序 添加一个stati
  • 多线程之设计模式之Listener设计模式(观察者设计模式)

    虽然设计模式我们一般中用的很少 但是作为程序员设计模式是我们自我修养的一部分 so最近学习了一个设计模式 记下来喽 观察者模式 有时又被称为模型 视图 View 模式 源 收听者 Listener 模式或从属者模式 是软件设计模式的一种 在
  • 二、RISC-V SoC内核注解——译码 代码讲解

    tinyriscv这个SoC工程的内核cpu部分 采用经典的三级流水线结构进行设计 即大家所熟知的 取值 gt 译码 gt 执行三级流水线 另外 在最后一个章节中会上传额外添加详细注释的工程代码 完全开源 如有需要可自行下载 上一篇博文中注
  • C++泛型中的类模板参数

    数据类型表 用户经由模板参数传递到模板的数据类型只在模板中有效 为模板所私有且数目种类有限 限制了模板之间的协作 类似于类之间要互相协作时 里面的数据成员都要是public 对互相公开所以可以方便使用 故在同一个泛型系统内部模板应该公开私有
  • 分段线性插值

    N 10 定义插值节点的个数 x 5 10 N 5 依据课本xi 5 i h i 0 1 N h 10 N y x 1 x 4 依据课本 1 插值公式 xi 5 0 25 5 依据课本xk 5 0 25k k 0 1 40 m length