三次样条插值题目是这个
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/19 21:05:45
三次样条插值题目是这个
题目:
设f(x)为定义在[27.7,30]上的函数,在节点Xi(i=0,1,2,3)上的值如下:
f(x0)=f(27.7)=4.1 ,f(x1)=f(28)=4.3,
f(x2)=f(29)=4.1 ,f(x3)=f(30)=3.0.
试求三次样条函数S(x),使它满足边界条件S'(27.7)=3.0,S'(30)=-4.0.
有些许过程 可以HI我 完成追加分数
求个MATLAB 或者C语言的程序
题目:
设f(x)为定义在[27.7,30]上的函数,在节点Xi(i=0,1,2,3)上的值如下:
f(x0)=f(27.7)=4.1 ,f(x1)=f(28)=4.3,
f(x2)=f(29)=4.1 ,f(x3)=f(30)=3.0.
试求三次样条函数S(x),使它满足边界条件S'(27.7)=3.0,S'(30)=-4.0.
有些许过程 可以HI我 完成追加分数
求个MATLAB 或者C语言的程序
我写了个自动计算的程式, 可以满足你这个, 要的话留邮箱或者QQ
过程思路很简单, 用埃尔梅特式构造, 然后解占优对角阵, 你这个属于第一类边界条件, 输入首尾一阶倒数即可
再问: qq:511043180 邮箱:511043180@qq.com 谢谢了
再答: t_x[j] 就写成x 就行了, 这个是按照艾尔米特多项式生成的 4.1* ((28- t_x[j]) * (28- t_x[j]) * (0.3+ 2 * (t_x[j] -27.7))) / Math.Pow(0.3, 3)+4.3* ((27.7- t_x[j]) * (27.7- t_x[j]) * (0.3+ 2 * (28- t_x[j]))) / Math.Pow(0.3 , 3) + 3* (28- t_x[j]) * (28- t_x[j]) * (t_x[j] -27.7) / Math.Pow(0.3, 2)+0.836633663366335* (27.7- t_x[j]) * (27.7- t_x[j]) * (t_x[j] - 28) / Math.Pow(0.3, 2) 4.3* ((29- t_x[j]) * (29- t_x[j]) * (1+ 2 * (t_x[j] -28))) / Math.Pow(1, 3)+4.1* ((28- t_x[j]) * (28- t_x[j]) * (1+ 2 * (29- t_x[j]))) / Math.Pow(1 , 3) + 0.836633663366335* (29- t_x[j]) * (29- t_x[j]) * (t_x[j] -28) / Math.Pow(1, 2)+-1.18415841584158* (28- t_x[j]) * (28- t_x[j]) * (t_x[j] - 29) / Math.Pow(1 , 2) 4.1* ((30- t_x[j]) * (30- t_x[j]) * (1+ 2 * (t_x[j] -29))) / Math.Pow(1, 3)+3* ((29- t_x[j]) * (29- t_x[j]) * (1+ 2 * (30- t_x[j]))) / Math.Pow(1 , 3) + -1.18415841584158* (30- t_x[j]) * (30- t_x[j]) * (t_x[j] -29) / Math.Pow(1, 2)+-4* (29- t_x[j]) * (29- t_x[j]) * (t_x[j] - 30) / Math.Pow(1 , 2)
再问: 请问这是matlab么 能加QQ详细说下么
再答: 511043180? 加了, 没反应... 不是matlab, 是前段时间我刚好做其他程序的时候, 里面要做插值计算,其中一种插值是三次样条,我就干脆写了个插值库,用的C#, 不过程序是直接载入任意数据,计算插值序列. 所以你的这个我稍微改了一下,直接输出各个区间的多项式. 我加了你,你直接去我QQ空间,我把代码贴了上去,里面有详细的解说和过程.
过程思路很简单, 用埃尔梅特式构造, 然后解占优对角阵, 你这个属于第一类边界条件, 输入首尾一阶倒数即可
再问: qq:511043180 邮箱:511043180@qq.com 谢谢了
再答: t_x[j] 就写成x 就行了, 这个是按照艾尔米特多项式生成的 4.1* ((28- t_x[j]) * (28- t_x[j]) * (0.3+ 2 * (t_x[j] -27.7))) / Math.Pow(0.3, 3)+4.3* ((27.7- t_x[j]) * (27.7- t_x[j]) * (0.3+ 2 * (28- t_x[j]))) / Math.Pow(0.3 , 3) + 3* (28- t_x[j]) * (28- t_x[j]) * (t_x[j] -27.7) / Math.Pow(0.3, 2)+0.836633663366335* (27.7- t_x[j]) * (27.7- t_x[j]) * (t_x[j] - 28) / Math.Pow(0.3, 2) 4.3* ((29- t_x[j]) * (29- t_x[j]) * (1+ 2 * (t_x[j] -28))) / Math.Pow(1, 3)+4.1* ((28- t_x[j]) * (28- t_x[j]) * (1+ 2 * (29- t_x[j]))) / Math.Pow(1 , 3) + 0.836633663366335* (29- t_x[j]) * (29- t_x[j]) * (t_x[j] -28) / Math.Pow(1, 2)+-1.18415841584158* (28- t_x[j]) * (28- t_x[j]) * (t_x[j] - 29) / Math.Pow(1 , 2) 4.1* ((30- t_x[j]) * (30- t_x[j]) * (1+ 2 * (t_x[j] -29))) / Math.Pow(1, 3)+3* ((29- t_x[j]) * (29- t_x[j]) * (1+ 2 * (30- t_x[j]))) / Math.Pow(1 , 3) + -1.18415841584158* (30- t_x[j]) * (30- t_x[j]) * (t_x[j] -29) / Math.Pow(1, 2)+-4* (29- t_x[j]) * (29- t_x[j]) * (t_x[j] - 30) / Math.Pow(1 , 2)
再问: 请问这是matlab么 能加QQ详细说下么
再答: 511043180? 加了, 没反应... 不是matlab, 是前段时间我刚好做其他程序的时候, 里面要做插值计算,其中一种插值是三次样条,我就干脆写了个插值库,用的C#, 不过程序是直接载入任意数据,计算插值序列. 所以你的这个我稍微改了一下,直接输出各个区间的多项式. 我加了你,你直接去我QQ空间,我把代码贴了上去,里面有详细的解说和过程.