matlab中的问题 1e-03是什么意思?
为什么要把它写成这样:cdata=1e-03*[4.54,4.99,5.35,5.65,5.90,6.10,6.26,6.39,6.50,6.59];而不是写成:cdat...
为什么要把它写成这样:cdata=1e-03*[4.54,4.99,5.35,5.65,5.90,
6.10,6.26,6.39,6.50,6.59];
而不是写成:cdata=[4.54,4.99,5.35,5.65,5.90,
6.10,6.26,6.39,6.50,6.59];
?
问题来源于这个代码:
例 用下面一组数据拟合 中的参数a,b,k
t 100 200 300 400 500 600 700 800 900 1000
c 4.54 4.99 5.35 5.65 5.90 6.10 6.26 6.39 6.50 6.59
解法1. 用命令lsqcurvefit matabc
1)编写M-文件 curvefun1.m
function f=curvefun1(x,tdata)
f=x(1)+x(2)*exp(-0.02*x(3)*tdata) %其中 x(1)=a; x(2)=b;x(3)=k;
2)输入命令
tdata=100:100:1000
cdata=1e-03*[4.54,4.99,5.35,5.65,5.90,6.10,6.26,6.39,
6.50,6.59]; matlab
x0=[0.2,0.05,0.05];
x=lsqcurvefit ('curvefun1',x0,tdata,cdata)
f= curvefun1(x,tdata)
3)运算结果为:
f =0.0043 0.0051 0.0056 0.0059 0.0061
0.0062 0.0062 0.0063 0.0063 0.0063
x = 0.0063 -0.0034 0.2542
4)结论:a=0.0063, b=-0.0034, k=0.2542 matlab 展开
6.10,6.26,6.39,6.50,6.59];
而不是写成:cdata=[4.54,4.99,5.35,5.65,5.90,
6.10,6.26,6.39,6.50,6.59];
?
问题来源于这个代码:
例 用下面一组数据拟合 中的参数a,b,k
t 100 200 300 400 500 600 700 800 900 1000
c 4.54 4.99 5.35 5.65 5.90 6.10 6.26 6.39 6.50 6.59
解法1. 用命令lsqcurvefit matabc
1)编写M-文件 curvefun1.m
function f=curvefun1(x,tdata)
f=x(1)+x(2)*exp(-0.02*x(3)*tdata) %其中 x(1)=a; x(2)=b;x(3)=k;
2)输入命令
tdata=100:100:1000
cdata=1e-03*[4.54,4.99,5.35,5.65,5.90,6.10,6.26,6.39,
6.50,6.59]; matlab
x0=[0.2,0.05,0.05];
x=lsqcurvefit ('curvefun1',x0,tdata,cdata)
f= curvefun1(x,tdata)
3)运算结果为:
f =0.0043 0.0051 0.0056 0.0059 0.0061
0.0062 0.0062 0.0063 0.0063 0.0063
x = 0.0063 -0.0034 0.2542
4)结论:a=0.0063, b=-0.0034, k=0.2542 matlab 展开
3个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询