MATLAB分形插值.docVIP

  • 15
  • 0
  • 约1.35千字
  • 约 2页
  • 2020-04-06 发布于河北
  • 举报
本程序进行分形插值 需要用户自行修改存储/读取路径。 clear clc bds=input(输入数据文件名 ==,s); di=input(输入纵向压缩比di ==); kk=input(输入迭代次数kk ==); t=num2str(kk); s=[C:\Program Files\MATLAB\R2010b\bin\ bds]; % 数据文件存放在磁盘目录“C:\Program Files\MATLAB\R2010b\bin\”中 sp=[s p t];% 计算结果存放的数据文件名 hold off; load data1.txt; eval([z= bds ;]); eval([clear bds]); x=z(1,:); y=z(2,:); [t,n]=size(x); xl=x(n)-x(1); nn=n-1; plot(x,y,--ok) hold on for k=1:kk for i=1:nn a(i)=(x(i+1)-x(i))/xl; e(i)=(x(n)*x(i)-x(1)*x(i+1))/xl; c(i)=(y(i+1)-y(i)-di*(y(n)-y(1)))/xl; f(i)=((x(n)*y(i)-x(1)*y(i+1))-di*(x(n)*y(1)-x(1)*y(n)))/xl; end for i=1:nn for j=1:n xx((i-1)*nn+j)=a(i)*x(j)+e(i); yy((i-1)*nn+j)=c(i)*x(j)+di*y(j)+f(i); end end [t,n]=size(xx); nn=n-1; if k==1,ss=:k;end if k=2,ss=-k;end eval([plot(xx,yy, ss )]) x=xx; y=yy; end % spp=[fwd=fopen( sp , w )]; % eval([spp]); % for i=1:n % fprintf(fwd,%8.4f,xx(i)); % end % fprintf(fwd,\n) % for i=1:n % fprintf(fwd,%8.4f,yy(i)); % end % fclose(fwd); xfid=fopen(F:\MatlabR2010\bin\xdata.xls,w); fprintf(xfid,%8.4f\n,xx); fclose(xfid); yfid=fopen(F:\MatlabR2010\bin\ydata.xls,w); fprintf(yfid,%8.4f\n,yy); fclose(yfid);

文档评论(0)

1亿VIP精品文档

相关文档