答:b = 0.1295a = 0.4057剩余平方和SSE:0.0019964相关系数R-square:0.78778剩余标准差RMSE:0.010251
答:你要拟合的非线性有没有固定的方程呢? 还是随便用多项式去拟合?
答:你最好使用曲线拟合工具箱,这个很简单的。 如果你的函数比较特别,在曲线拟合工具箱里没有,那么你就需要自己编程进行拟合了,可以使用lsqnonlin函数来做这个拟合,它是一个非线性拟合函数 下面给你一个例子 首先定义自己要拟合的函数的形式,...
答:返回了x、y的表达式之后写: x=subs(x,[a,b],[a_,b_]); y=subs(y,[a,b],[a_,b_]); (a_,b_是你要代进去的数值,输到MATLAB里的时候要替换掉或者在之前赋值)
答:首先将y和x1,x2,x3都变为列向量,就是80x1的矩阵 如果原来是行向量1x80的矩阵用y=y.'或x1=x1.‘转置一下就可以了 将x1 x2 x3合拼为80x3的矩阵 x=[x1 x2 x3]; 然后创建函数句柄 fun=@(a,x) a(1)*x(:,1)+a(2)*x(:,2)+(a(3)*x(:,1)+a(4)*x(:,1)).*...
答:您好,你可以用nlinfit()函数拟合,精度比较高。 2、用matlab的拟合工具箱cftool也是非常方便,而且不用编程。你只要将y=d*(b-exp(-x/c))*exp(-2*a*log(b*exp(x/c)-1))输入自定义函数(General Equations)命令框内,就可以得到其拟合系数。 ...
答:1、给的数据解析一下,比如,第一个数据是不是当x=1时,y=-3.6055 ? 2、把v(x)的表达式弄清楚才能拟合。 可以考虑用函数lsqcurve
答:表达式必须自己估计。有很多表达式都能拟合出类似曲线。matlab里做曲线拟合的主要有(我经常用的)有这两个:polyfit和lsqcurvefit。前者专门对高次多项式拟合,后者则适用于绝大多数非线性拟合。根据描点判断可以用多项式拟合,我下面以二次多...
答:x=[1;1.5;2;2.5;3]; y=[0.9;1.7;2.2;2.6;3]; p=fittype('a*x.^0.5+b*lnx+c','independent','x') f=fit(x,y,p) plot(f,x,y); 上面是代码! 下面是结果: a=2.818 b=0.8552 c=-0.6627
答:可以用lsqcurvefit()函数或nlinfit()函数拟合。 例如: x=[。。。] y=[。。。] f=@(c,x)(1+c*log10(1950000))*(134410*(x.^10)-318250*(x.^9)+118590*(x.^8)+382850*(x.^7)-603050*(x.^6)+420570*(x.^5)-168430*(x.^4)+40790*(x.^3)-5850*(x...