电子商务网站推广的方法有哪些成都网站设计网站制作公司
news/
2025/9/25 20:34:59/
文章来源:
电子商务网站推广的方法有哪些,成都网站设计网站制作公司,网站建设北京个人,网络平台贷款还不了会有什么后果关于三次样条插值#xff0c;计算方法比较复杂#xff0c;但是静下心来仔细研究也是可以理解的。
本文借鉴文章来源#xff1a;http://www.cnki.com.cn/Article/CJFDTotal-BGZD200611035.htm
定义#xff1a; 简单来说就是给定了一些在区间[a,b]的数据点{x1,x2,x3.....xn…关于三次样条插值计算方法比较复杂但是静下心来仔细研究也是可以理解的。
本文借鉴文章来源http://www.cnki.com.cn/Article/CJFDTotal-BGZD200611035.htm
定义 简单来说就是给定了一些在区间[a,b]的数据点{x1,x2,x3.....xn}对应函数值{y1,y2,y3.....yn}函数在[xj,xj1] (j1,2,...n-1此处根据你的编译器所定matlab数组下标从1开始的)上有表达式S(x)且满足下面条件
1. S(x)是一个三次多项式在这里设为
2. S(xj)yj 2-1
3. S(xj-0)S(xj0) (j2,3....,n-1)这就是保证了在非端点处的其它点连续 (2-2)
4. S(xj-0)S(xj0) (j2,3....,n-1)一阶导数连续 (3-1)
5. S(xj-0)S(xj0) (j2,3....,n-1)二阶导数连续 (3-2)
【注】3 4 5的区间从2开始到n-1是因为两个端点不需要判断是否连续端点处没连续这一说。 有一个说法“n个未知数需要n个方程才能确定唯一解”具体对不对可以参考线性代数的知识。我们的最终目标是求出每个区间的式(1)或者函数值。 共有n-1个区间每个区间四个参数ajbjcjdj那么就总共需要4(n-1)个求未知数。在(2-1)中给出了n个方程(2-2)(3-1)(3-2)总共给出了3(n-2)个方程所以依据唯一解方法可知还需要4(n-1)-3(n-2)-n2个方程。 对于剩下的两个方程三次样条插值给出了两个边界约束方程刚好凑齐两个并且有三种可以依照自己的兴趣选择一种便于实现的。
1. 给定了端点处的一阶导数值S(x1)y1 S(xn)yn
2.给定了端点处的二阶导数值S(x1)y1 S(xn)yn。自然边界条件y1yn0
3.给定了一个周期性条件如果f(x)是以b-a为周期的函数在端点处便满足S(x10)S(xn-0)S(x10)S(xn-0)
下面的推导是以边界方程1为例的
推导过程
(一) 利用二阶导得到一些式子
S(x)为每个区间的三次多项式那么S(x)就是一次多项式。假设S(xj)MjS(xj1)Mj1的值已知那么其中hjxj1-xj然后利用S(x)求S(x)二依据S(x)得到一些式子
按照上面的证明可以得到其中hjxj1-xj依据S(xj)yj和S(xj1)yj1得到——————更新日志2020-6-13————————感谢评论区老哥meng_zhi_xiang 公式(5)的A下标不是j1,应该是j解得(求解过程就不写了简单的二元方程组)6-16-2将Aj和Bj带入S(x)中可以得到S(x)的最终式子原文此处应该是有错误Aj和Bj都没有xj的式子但是原文的结果中包含。这里就得到了S(x)的雏形了xj、xj1、hj都是已知的但是Mj和Mj1是假设已知的下面就是求它们了。三利用一阶导数得到一些式子
依据式(7)求出一阶导然后为了使在xj处连续平滑那么在xj处的一阶导必须相等。即要满足S(xj-0)s(xj0)即等式坐标表示S(x)在[xj-1,xj]的xj的一阶导值右边表示[xj,xj1]的xj一阶导值其中利用S(x)的表达式可以得到等式左右两边的值由上得到两个式子由两式相等整理可得令则μjMj-12Mj(1-μj)Mj1djj2,3,...,n-1(四)带入边界条件
此处选择边界条件1即计算结果写为2M1M2β1结果写为Mn-12Mnβn五结果
结合三、四可以看出所有的n个式子已经齐全包括三结尾算得μjMj-12Mj(1-μj)Mj1djj2,3,...,n-1的n-2个式子加上(四)得到的两个式子刚好n个式子.用矩阵表示出这n个式子即为方程中并且hjxj1-xj这样便解出了矩阵M然后带入S(x)的式子即上面算得这样便求得了每一个区间上的S(x)了。matlab代码SplineThree.mpre namecode classplainfunction f SplineThree(x,y,dy1,dyn,x0)
%xy为输入的已知点
%x0为待求插值点的横坐标
%dy1,dyn为约束条件是端点处的一阶导数值
nlength(x);
for j1:n-1h(j)x(j1)-x(j);
end%得到式子右边的结果矩阵
d(1,1)6*((y(2)-y(1))/h(1)-dy1)/h(1); %等式(11)的结果矩阵的上端点值
d(n,1)6*(dyn-(y(n)-y(n-1))/h(n-1))/h(n-1); %等式(11)的结果矩阵的下端点值
for i2:n-1u(i)h(i-1)/(h(i-1)h(i));d(i,1)6*((y(i1)-y(i))/h(i)-(y(i)-y(i-1))/h(i-1))/(h(i-1)h(i));
end%得到系数矩阵
A(1,1)2;
A(1,2)1;
A(n,n-1)1;
A(n,n)2;
for i2:n-1A(i,i-1)u(i);A(i,i)2;A(i,i1)1-u(i);
end%解方程
MA\d;format long
syms t;
%得到每个区间的式子
for i1:n-1a(i)y(i1)-M(i1)*h(i)^2/6-((y(i1)-y(i))/h(i)-(M(i1)-M(i))*h(i)/6)*x(i1);b(i)((y(i1)-y(i))/h(i)-(M(i1)-M(i))*h(i)/6)*t;c(i)(t-x(i))^3*M(i1)/(6*h(i));e(i)(x(i1)-t)^3*M(i)/(6*h(i));f(i)a(i)b(i)c(i)e(i);%f(i)M(i)*(x(i1)-t)^3/(6*h(i))M(i1)*(t-x(i))^3/(6*h(i))(y(i)-M(i)*h(i)^2/6)*(x(i1)-t)/h(i)(y(i1)-x(i1)*h(i)^2/6)*(t-x(i))/h(i);% f(i)((x(j1)-x)^3)*M(i)/(6*h(i))((x-x(i))^3)*M(i1)/(6*h(i))(y(i)-M(i)*(h(i)^2)/6)*((x(i1)-x)/h(i))(y(i1)-(M(i1)*(h(i)^2)/6))*((x-x(i))/h(i));
end%化简fcollect(f);fvpa(f,6);if(nargin5)nnlength(x0);
for i1:nnfor j1:n-1if(x0(i)x(j)x0(i)x(j1))yynum(i)subs(f(j),t,x0(i)); %计算插值点的函数值.subs是替换函数把x0用t替换endend
end
fyynum;
elsefcollect(f); %将插值多项式展开fvpa(f,6); %将插值多项式的系数化成6位精度的小数
end
endSplineThree.m pre namecode classplain% x[-1.5 0 1 2];
% y[0.125 -1 1 9];
% dy10.75;
% dyn14;
% x01.5;
% answerSplineThree(x,y,dy1,dyn);
%
% X[-1.5 0 1 2];
% Y[0.125 -1 1 9];
% dY[0.75 14]
% m5;
% spline3(X,Y,dY,x0,m)X0:2*pi;
Ysin(X);
dY[1,1];
dy11;
dyn1;
xx0:0.5:6;
m5;
% for i1:length(xx)
% spline3(X,Y,dY,xx,m);
% end
yySplineThree(X,Y,dy1,dyn,xx);
plot(xx,yy,r) 本文已经同步到微信公众号中公众号与本博客将持续同步更新运动捕捉、机器学习、深度学习、计算机视觉算法敬请关注
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/917488.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!