|||
示例文件下载:
1、首先编写fun.m文件
function [ f ] = fun( c,x )
%UNTITLED3 Summary of this function goes here
% Detailed explanation goes here
f=1-8/9.8696.*exp(-9.8696.*c(1).*x/(c(2).^2));
end
2、然后编写data.m进行拟合
clc;clear;
data=[0 0
1 27.33333333
2 37.46666667
3 48.5
4 57.6
5 66.53333333
6 74.43333333
8 85.33333333
10 91.1
12 95.5
14 96.53333333
17 97.3
20 97.93333333
24 98.33333333];
xdata=data(:,1);
ydata=data(:,2)./100;
c0=[1 1];
for i=1:100
c = lsqcurvefit ('fun', c0, xdata, ydata) ;
c0 = c; %以计算出的 c为初值进行迭代;
end
c
x=0:0.5:25;
y1=1-8/9.8696.*exp(-9.8696.*c(1).*x/(c(2).^2));
plot(xdata, ydata,'o',x,y1,'r');
legend ('实验数据 ','拟合曲线');
3、拟合结果
D= 0.0241 l=1.1436
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-11-25 05:15
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社