请问matlab有对多个因变量进行拟合的函数吗?

34 views (last 30 days)
问题的描述为:
对函数y(x; c)进行拟合, 其中x为已知的自变量(一个向量),y是已知函数表达式的因变量(一组向量),c是需要拟合出来的参数(一个向量)。
下面用一个简单的例子说明我想解决的问题:
已知我们需要拟合的两个函数关系式为:
y1 = c1 * x + c2 * x
y2 = c1 * x - c2 * x
已知一组x的值,对应的也已知一组y1, 一组y2的值。现在就是要对c1, c2进行拟合,从而让两个曲线都能fit上。
当然我需要的是非线性拟合,上面只是一个线性的例子。现在的问题是,我用nlinfit函数,每次似乎只能拟合一个函数。这样的话,比如我先nlinfit(x, y1),那么显然c1和c2是不独立的(因为y1 = (c1+c2)*x ),matlab在拟合的时候将不管c2,直接找到合适的c1。而这样y1当然可以fit的很好,但是y2就会差很远了。
所以我其实就是想找一个函数或者算法,来拟合y(x; c) 而不是单纯的 y(x; c)。
看起来这应当是拟合问题中很典型的一类,无奈我在matlab上找不到合适的方法。因此想请教论坛的朋友们。

Accepted Answer

百家乐线上真人网址【微8785092】
构造个 Y(x,c) = (c1 * x + c2 * x - y1).^2 + (c1 * x - c2 * x - y2).^2 然后用fmincon之类的函数求 Y的最小值

More Answers (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!