麻烦论坛的朋友帮忙看看这个插值程序
我想获得过原插值点的曲线,迭代时程序有问题,总是改不好,请教论坛的朋友,帮帮忙,谢谢! 原理在附件1、2里clear all; x=0:10; y=;%初始点(xi,yi)
plot(x,y); hold on; n=length(y);
%变换参数
xl=x(n)-x(1); yl=y(n)-y(1); d=rand(1,n); a=(x(2:n)-x(1:n-1))/xl;
c=(y(2:n)-y(1:n-1))/xl-d(2:n)*(yl/xl); e=(x(n)*x(1:n-1)-x(1)*x(2:n))/xl;
f=(x(n)*y(1:n-1)-x(1)*y(2:n))/xl-d(2:n)*((x(n)*y(1)-x(1)*y(n))/xl);
%迭代运算
for i=1:n-1
x=a(i)*x+e(i); y=c(i)*x+d(i)*y+f(i);
plot(x,y,'*r'); hold on
end
论坛高手们,帮帮忙吧,闷了几天了,做了很多改动,还是不行,谢谢大家!
[ 本帖最后由 ChaChing 于 2010-7-5 13:33 编辑 ] 修改了,还是不行
%迭代运算
k=20;%迭代次数
for kk=1:k
for i=2:n-1;
m=ceil(a(i)*x(i)+e(i));
y(m)=c(i)*x(i)+d(i)*y(i)+f(i);
end
end
plot(y,'-r'); 我的结果是这样的
原帖由 zhly 于 2008-9-24 09:39 发表 http://www.chinavib.com/forum/images/common/back.gif
我想获得过原插值点的曲线,迭代时程序有问题,总是改不好,请教论坛的朋友,帮帮忙,谢谢!
原理在附件1、2里
clear all
x=0:10;
y=;%初始点(xi,yi)
plot(x,y);
hold on
n=length( ...
按照附件中的方法,最终结果插值点之间是曲线,可否把程序贴出来? 原帖由 zhly 于 2008-9-25 08:50 发表 http://www.chinavib.com/forum/images/common/back.gif
按照附件中的方法,最终结果插值点之间是曲线,可否把程序贴出来?
线性插值是直线,2次、3次、样条就是曲线老 原帖由 yelv123 于 2008-9-25 09:54 发表 http://www.chinavib.com/forum/images/common/back.gif
线性插值是直线,2次、3次、样条就是曲线老
我不是做样条插值
做线性分形插值
现在不能解决的问题是:在迭代时怎么能保留得到的新点的同时不覆盖原始点。 这个分形的就不清楚了~~~ 我在附件里贴了原理,能否帮忙看看?
更正一下前面问题描述中的错误,希望热心的朋友指导一下
附件中是线性分形插值的基本原理,得到的图形在点与点之间还是线性的,只是经分形插值后在原插值点之间产生了新点。问题是:在迭代时怎么能保留得到的新点的同时不覆盖原插值点? 无意中看到这个问题。
其实,用3次B样条等曲线插值算法可以轻松实现啊。
也许,楼主早就解决了。
页:
[1]