最小二乘法拟合指数函数(Matlab编程),着急,拟合函数形式为:y=a×exp(-bt);数据比较少:y=[50 40 30 20 10 ]; t=[55 63 73 100 121],用matlab编程程序该怎么写啊,需要求出未知系数a和b的值

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/11 15:36:30

最小二乘法拟合指数函数(Matlab编程),着急,拟合函数形式为:y=a×exp(-bt);数据比较少:y=[50 40 30 20 10 ]; t=[55 63 73 100 121],用matlab编程程序该怎么写啊,需要求出未知系数a和b的值
最小二乘法拟合指数函数(Matlab编程),着急,
拟合函数形式为:y=a×exp(-bt);数据比较少:y=[50 40 30 20 10 ]; t=[55 63 73 100 121],用matlab编程程序该怎么写啊,
需要求出未知系数a和b的值

最小二乘法拟合指数函数(Matlab编程),着急,拟合函数形式为:y=a×exp(-bt);数据比较少:y=[50 40 30 20 10 ]; t=[55 63 73 100 121],用matlab编程程序该怎么写啊,需要求出未知系数a和b的值
%方法一
y=[50 40 30 20 10 ]; t=[55 63 73 100 121];
yp=log(y);
p = polyfit(t,yp,1);
b=-p(1)
a=exp(p(2))
yf=a*exp(-b*t);
yf-y
plot(t,y,'r+',t,yf,'b-')
legend('原始点','拟合线')
%方法二
%% Fit:'exp1'.
[xData,yData] = prepareCurveData( t,y );
% Set up fittype and options.
ft = fittype( 'exp1' );
opts = fitoptions( ft );
opts.StartPoint = [145.2 -0.3];
% Fit model to data.
[fitresult,gof] = fit( xData,yData,ft,opts );
% Plot fit with data.
figure( 'Name','untitled fit 1' );
h = plot( fitresult,xData,yData );
legend( h,'y vs.t','exp1','Location','NorthEast' );
% Label axes
xlabel( 't' );
ylabel( 'y' );
fitresult
gof
%方法三
y=[50 40 30 20 10 ]';
yp=log(y);
t=[55 63 73 100 121]';
tl=ones(size(t));
t1=[tl t];
p=t1\yp;
b=-p(2)
a=exp(p(1))
yf=a*exp(-b*t);
yf-y
plot(t,y,'r+',t,yf,'b-')
legend('原始点','拟合线')
%方法四
regress

clc;
clear all;
y=[50 40 30 20 10 ]; x=[55 63 73 100 121];
a=[145.2345667367 -0.02061401470466 ];%设置初值,很关键。
f=@(a,x)a(1)*exp(-a(2)*x);
nlinfit(x,y,f,a)
%可以利用toolbox里面的拟合函数来确定初值...

全部展开

clc;
clear all;
y=[50 40 30 20 10 ]; x=[55 63 73 100 121];
a=[145.2345667367 -0.02061401470466 ];%设置初值,很关键。
f=@(a,x)a(1)*exp(-a(2)*x);
nlinfit(x,y,f,a)
%可以利用toolbox里面的拟合函数来确定初值:
(先在窗口输入x,y值)
command window输入cftool,然后再data里面选x,y数值。create data set。
Fitting里面选择new fit, type of fit 里面选择exponential,单击apply。
在result里面就可以看到a,b的值。(还有不同的组合)
然后你点击File,Generate M-file.
打开你生成的M-File,里面有st_就是matlab设置的初值。
希望可以帮到你。

收起

请问最小二乘法圆拟合求半径 matlab编程实现三维数据怎么,用最小二乘法圆拟合,并求出半径? matlab求最小二乘法二元拟合? 用MATLAB 最小二乘法拟合指数曲线最小二乘法拟合指数函数y=cx^nx=[2448,4976,7464,12440,24880,49760]y=[2.010 ,3.073,3.91,5.375,8.336,12.693] 最小二乘法拟合指数函数(Matlab编程),着急,拟合函数形式为:y=a×exp(-bt);数据比较少:y=[50 40 30 20 10 ]; t=[55 63 73 100 121],用matlab编程程序该怎么写啊,需要求出未知系数a和b的值 如何用matlab进行拟合,用最小二乘法? 最小二乘法拟合曲线MATLAB中如何应用 有关matlab编程最小二乘法圆拟合的问题有400个数据大约 最后能输出 图像吗 MATLAB 最小二乘法拟合曲线MATLAB编程用最小二乘法拟合曲线,使曲线成为y与x的一个函数关系式x:27560000,55120000,82680000,88192000,110240000,137800000y:1743170000,1894750000,2053220000,2067000000,2239250000,2411500000y=a1+ 如何利用matlab拟合e指数函数? 最小二乘法拟合椭圆怎么求,最好matlab代码 如何在matlab里使用最小二乘法拟合直线方程 紧急:用matlab中的最小二乘法拟合指数函数(人口问题)t=[1971:1:1990];y=[8.5229 8.7177 8.9221 9.0859 9.2420 9.3717 9.4974 9.6259 9.7542 9.8705 10.0072 10.1654 10.3008 10.4357 10.5851 10.7507 10.9300 11.1026 11.2704 11.4333];拟 matlab中的cftool拟合工具箱中的拟合函数是用什么方法拟合的?最小二乘法还是别的?谢谢 MATLAB指数函数的拟合过程中怎么确定初始值啊? 最小二乘法数据拟合是什么意思 matlab编程问题、考察点:a) 多项式的表示方法;b) 多项式拟合; c)多项式求值.用最小二乘法拟合下列数据:x:0.50 1.00 1.50 2.00 2.50 3.00 y:1.75 2.45 3.81 4.80 8.00 8.60首先采用2阶多项式进行拟合;在 用matlab工具进行最小二乘法圆拟合的程序怎么编? 已知10个点,如何用matlab,用最小二乘法拟合圆,并求出半径