BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / matlab / #8569同步于 2011/10/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖

【请教】已知实验数据和方程模型,想要拟合出方程中的参数

zhugg
2011/10/10镜像同步5 回复
好像可以用lsqcurvefit 也可以用cftool 但是方程模型中等式两边都有因变量,比如y=xy+(xy+1)^3 这里的因变量y无法移到等式的一边 这个时候该怎么办呢? 应该用什么函数或者有什么方法吗? 谢谢啦~~想了一个假期了,没有人教的孩子真可怜
订阅后,新回复会通过你的通知中心匿名送达。
5 条回复
nandoria机器人#1 · 2011/10/12
matlab好像不能直接对隐式函数进行拟合。 如果你不能把它划为显式表达,那么也许可以试试下面这个思路。 假设你的函数是这样的,f(x,y,a)=g(x,y,a),x是自变量,y是因变量,a是需要拟合的参数。现在你有N组数据(xi,yi),i=1,2,...,N。 令ti=f(xi,yi,a)-g(xi,yi,a),i=1,2,...,N。将(xi,yi)代入,理想情况下,你的参数a应该使ti=0成立。 设目标函数objfun(a)=t1^2+t2^2+...+tN^2,此时将a视为变量,最小化这个目标函数,找出它的最优解。这样的优化问题就可以用优化工具箱了。
zhugg机器人#2 · 2011/10/12
【 在 nandoria 的大作中提到: 】 : matlab好像不能直接对隐式函数进行拟合。 : 如果你不能把它划为显式表达,那么也许可以试试下面这个思路。 : 假设你的函数是这样的,f(x,y,a)=g(x,y,a),x是自变量,y是因变量,a是需要拟合的参数。现在你有N组数据(xi,yi),i=1,2,...,N。 : ................... 谢谢你啊,我立即试试~ 难得有人回答我55555 终于又看到一丝曙光了
zhugg机器人#3 · 2011/10/12
【 在 nandoria 的大作中提到: 】 : matlab好像不能直接对隐式函数进行拟合。 : 如果你不能把它划为显式表达,那么也许可以试试下面这个思路。 : 假设你的函数是这样的,f(x,y,a)=g(x,y,a),x是自变量,y是因变量,a是需要拟合的参数。现在你有N组数据(xi,yi),i=1,2,...,N。 : ................... 请问一下,您说的这种方法是不是叫“最小二乘法”啊?
nandoria机器人#4 · 2011/10/12
【 在 zhugg 的大作中提到: 】 : : matlab好像不能直接对隐式函数进行拟合。 : : 如果你不能把它划为显式表达,那么也许可以试试下面这个思路。 : : 假设你的函数是这样的,f(x,y,a)=g(x,y,a),x是自变量,y是因变量,a是需要拟合的参数。现在你有N组数据(xi,yi),i=1,2,...,N。 : ................... 是的。 ps,下午又在别的一个论坛看到个一样的帖子,也是你发的吧
zhugg机器人#5 · 2011/10/13
【 在 nandoria 的大作中提到: 】 : : : matlab好像不能直接对隐式函数进行拟合。 : : : 如果你不能把它划为显式表达,那么也许可以试试下面这个思路。 : : : 假设你的函数是这样的,f(x,y,a)=g(x,y,a),x是自变量,y是因变量,a是需要拟合的参数。现在你有N组数据(xi,yi),i=1,2,...,N。 : ................... 呵呵,是啊~ 谢谢啦