matlab 线性拟合polyfit_matlab最小二乘法拟合y=a*exp(-b/t),转换成线性用polyfit怎么写程序啊,有偿私聊我...

本文介绍了如何使用MATLAB中的polyfit函数对y=a*exp(-b/t)的非线性模型进行线性化处理,通过变量替换和对数运算将其转化为线性拟合问题。具体步骤包括:1) 对y和t进行变量替换,2) 使用polyfit进行拟合,3) 求得参数a和b。提供了多种实现方法和代码示例。
摘要由CSDN通过智能技术生成

对两bai边取对数,得到dulny=rx+lna.这就变成了一个使用lny和x对zhir和lna的一个线性拟dao合.如果使专用MATLAB程序如下(假属设你的x和y都是列向量):A(:,1)=x;A(:,2)=ones(length(x),1);b=log(y);aa=(A'*A)\(A'*b);得到的依次分别是r和lnawww.mh456.com防采集。

1、首先对baiy=a*exp(-b/t)进行变量替换,令duT=1/t,Y=log(y),则方程可化成zhi

%先写这样一个函数 function f=fun(c, xdata) xdata = 0:0.2:5; ydata = 2 - exp(0.3.*xdata); f=c(1) - exp(c(2).*xdata) - ydata; end % 然后 c0 = [1, 1]; % 初始值 lsqnonlin('fun', c0) ans = 2.0000 0.3000 >>

20245a50ed403d183a617983e19a6f14.png

Y=log(y)=b*log(e)*T+log(a)。

1、首先对y=a*exp(-b/t)进行变量替换,令T=1/t,Y=log(y),则方程可化成 Y=log(y)=b*log(e)*T+log(a)。 2、按变量代换,将t,y替换成T、Y,即 T=[1/5,1/10,1/15,。。。] Y=[l

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值