%将三次样条的拟合函数表达式存储起来
clc
clear all
close all
t=0.1;%数据间隔
x=0:t:100;%取值节点
y=sin(x);%函数值
pp=spline(x,y);%三次样条
xx=0:t/10:100;
yy=ppval(pp,xx);
plot(x,y,'b*',xx,yy,'r');
[a,b]=size(pp.coefs);%样条函数拟合系数
tt=num2str(t);%数字转成字符
fid=fopen('out.doc','w');%打开文件 fid 非零表示打开成功
for i=1:a
m3=num2str(pp.coefs(i,1));%提取每一段的系数
m2=num2str(pp.coefs(i,2));
m1=num2str(pp.coefs(i,3));
m0=num2str(pp.coefs(i,4));
ych='y_e_s_t= ';
char_y_est=[ych,m3,'*(x-',tt,').^3','+',m2,'*(x-',tt,').^2','+',m1,'*(x-',tt,')','+',m0];%每一段的表达式
fprintf(fid,'%s\n',char_y_est);%保存到out.txt 文件中
end
status=fclose(fid);%关闭文件 status 为零 表示关闭成功