在matlab里如何求出指数n1,n2,使得y=k(x1^n1)*(x2^n2)为直线?

x1,x2,y的数据已知,求出n1,n2和k,使得最终拟合成y=kx+b的形式,(x1^n1)*(x2^n2)可以看成一个新的自变量x

0

1个回答

取对数,log(y) = log(k(x1^n1)* (x2^n2))
两边展开,logy = logk + n1*logx1 + n2*logx2
现在就很清楚了,logk,n1,n2都是需要求的未知数,对x1,x2,y求对数,然后用得到的数据拟合就可以了
所有的非线性问题都可以通过类似的方法进行对数展开、泰勒展开,近似成线性问题解决

0
ljp7759325
檐前潜心学种瓜 回复karryzhu: 做不到
4 个月之前 回复
karryzhu
karryzhu 如果要求取对数前就是直线要怎么做呢
4 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!