matlab中的csape怎么使用?

RT

function pp = csape(x,y,conds,valconds)\x0d\x0a%pp=csape(x,y,'变界类型','边界值'),生成各种边界条件的三次样条插值. 其中,(x,y)为数据向量\x0d\x0a%边界类型可为:'complete',给定边界一阶导数.\x0d\x0a% 'not-a-knot',非扭结条件,不用给边界值.\x0d\x0a% 'periodic',周期性边界条件,不用给边界值.\x0d\x0a% 'second',给定边界二阶导数. \x0d\x0a% 'variational',自然样条(边界二阶导数为0)\x0d\x0a% .\x0d\x0a%例 考虑数据\x0d\x0a% x | 1 2 4 5\x0d\x0a% ---|-------------\x0d\x0a% y | 1 3 4 2\x0d\x0a%边界条件S''(1)=2.5,S''(5)=-3,\x0d\x0a% x=[1 2 4 5];y=[1 3 4 2];\x0d\x0a% pp=csape(x,y,'second',[2.5,-3]);pp.coefs\x0d\x0a% xi=1:0.1:5;yi=ppval(pp,xi);\x0d\x0a% plot(x,y,'o',xi,yi);\x0d\x0app0 = csape(x,[1,zeros(1,length(y)),0],[1,0]);\x0d\x0app = csape( x, [1 sin(x) 0], [1 2] ) %左边的点一阶导数为1,右边的点二阶导数为0\x0d\x0asplinetool是一个图形化的插值工具\x0d\x0alagrange插值,由于lagrange插值可能不收敛,所以工程中很少有人用这种插值。matlab中没有专门的lagrange插值函数。但我们可以自己编一个,如下:\x0d\x0a%lagrange插值子函数\x0d\x0afunction y=lagrange(x0,y0,x)\x0d\x0an=length(x0); m=length(x);\x0d\x0afor i=1:m\x0d\x0az=x(i);\x0d\x0as=0.0;\x0d\x0afor k=1:n\x0d\x0ap=1.0;\x0d\x0afor j=1:n\x0d\x0aif j~=k\x0d\x0ap=p*(z-x0(j))/(x0(k)-x0(j));\x0d\x0aend\x0d\x0aend\x0d\x0as=p*y0(k)+s;\x0d\x0aend\x0d\x0ay(i)=s;\x0d\x0aend
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-15
function pp = csape(x,y,conds,valconds)
%pp=csape(x,y,'变界类型','边界值'),生成各种边界条件的三次样条插值. 其中,(x,y)为数据向量
%边界类型可为:'complete',给定边界一阶导数.
% 'not-a-knot',非扭结条件,不用给边界值.
% 'periodic',周期性边界条件,不用给边界值.
% 'second',给定边界二阶导数.
% 'variational',自然样条(边界二阶导数为0)
% .
%例 考虑数据
% x | 1 2 4 5
% ---|-------------
% y | 1 3 4 2
%边界条件S''(1)=2.5,S''(5)=-3,
% x=[1 2 4 5];y=[1 3 4 2];
% pp=csape(x,y,'second',[2.5,-3]);pp.coefs
% xi=1:0.1:5;yi=ppval(pp,xi);
% plot(x,y,'o',xi,yi);
pp0 = csape(x,[1,zeros(1,length(y)),0],[1,0]);
pp = csape( x, [1 sin(x) 0], [1 2] ) %左边的点一阶导数为1,右边的点二阶导数为0
splinetool是一个图形化的插值工具
lagrange插值,由于lagrange插值可能不收敛,所以工程中很少有人用这种插值。matlab中没有专门的lagrange插值函数。但我们可以自己编一个,如下:
%lagrange插值子函数
function y=lagrange(x0,y0,x)
n=length(x0); m=length(x);
for i=1:m
z=x(i);
s=0.0;
for k=1:n
p=1.0;
for j=1:n
if j~=k
p=p*(z-x0(j))/(x0(k)-x0(j));
end
end
s=p*y0(k)+s;
end
y(i)=s;
end
第2个回答  2015-10-19
MATLAB自带工具箱
查看方式:
我们首先详细介绍一下MATLAB自带工具箱的使用。
在我们不熟悉一些调用工具箱的命令的时候,我们可以按照如下图所示:
在MATLAB主窗口中,点击左下角start--toolboxes,就会罗列出你的MATLAB已经安装的所有工具箱,可以根据你的需要选择你将要使用的工具箱。我们可以看到有拟合工具箱、金融工具箱、最优化工具箱等等。

调用(打开)方式:
下面我们介绍一下如何打开一个工具箱。
我们以调用拟合工具箱为例,进行详细的示例。
调用方式一:
按照如下图所示的步骤:
点击主窗口左下角start--toolboxes--curve fitting--curve fitting tool 单击,就可以打开拟合工具箱.

调用方式二:
在上一步中,我们在start--toolboxes--curve fitting--curve fitting tool ,到这里的时候,会看到在其后面有一个简写 cftool 如下图,这就是我们的拟合工具箱调用命令函数。在MATLAB主窗口中输入cftool ,回车,同样可以打开拟合工具箱。

工具箱的使用:
拟合工具箱打开之后,如下,我们就可以进行多种曲线拟合了。
关于MATLAB拟合工具箱等,一些工具箱的详细用法,由于篇幅的有限,在我的其他经验中都会陆续给出,有兴趣的可以查看。

5
非自带工具箱
非自带工具箱,需另外下载,然后按照一定的步骤导入,导入后一般不能像上面工具箱一样,通过界面操作,一般都通过函数使用。由于工具箱的导入有几个小的细节需要注意,所以在我的其他经验中,关于如何导入工具箱,我也进行了详细的介绍。
第3个回答  推荐于2017-11-25
doc csape
或者
help csape
matlab的帮助文档时最权威的工具书。

另:网上搜到的,希望对你有所帮助。

function pp = csape(x,y,conds,valconds)
%pp=csape(x,y,'变界类型','边界值'),生成各种边界条件的三次样条插值. 其中,(x,y)为数据向量
%边界类型可为:'complete',给定边界一阶导数.
% 'not-a-knot',非扭结条件,不用给边界值.
% 'periodic',周期性边界条件,不用给边界值.
% 'second',给定边界二阶导数.
% 'variational',自然样条(边界二阶导数为0)
% .
%例 考虑数据
% x | 1 2 4 5
% ---|-------------
% y | 1 3 4 2
%边界条件S''(1)=2.5,S''(5)=-3,
% x=[1 2 4 5];y=[1 3 4 2];
% pp=csape(x,y,'second',[2.5,-3]);pp.coefs
% xi=1:0.1:5;yi=ppval(pp,xi);
% plot(x,y,'o',xi,yi);本回答被提问者和网友采纳
相似回答