数值分析用matlab求解三次样条插值多项式
时间真快,2018年只剩下2天,2019年即将来临!
今晚整理笔记本中的资料,看了下之前给朋友解答的一个《数值分析》实验题目,还是有点意思。不管怎样,分享给需要的朋友,希望有所帮助!
给定函数,及节点如下:
求其三次样条插值多项式(可取I型或II型边界条件),并画图及与的图形进行比较分析。
实验过程及主函数代码
%%
%程序功能:三次样条插值多项式
%运行方式:运行主程序main3.m
%程序输出:三次样条插值函数图像、原函数图像
%%
clear all; close all; clc;
%% 原函数初始化,以便与三次样条插值多项式进行对比
syms x
f = 1 ./ (1 + x.^2);
f1d = diff(f, x, 1); %diff(f, x, n)表示f对x求n次导数
f2d = diff(f, x, 2);
%% 给出边界条件,选取I型边界条件
x = -5;
S1d_left = subs(f1d);
x = 5;
S1d_right = subs(f1d);
%% 给出插值节点及其相应函数值
xSample = linspace(-5,5,11); %在区间[-5,5]内等距离选取11个节点
x = xSample;
fSample = subs(f);
n = length(x); %读取采样节点的个数
%% 求取系数