fkjj.net
当前位置:首页 >> mAtlAB非线性拟合中用JACoBiAn拟合的效果不是很好... >>

mAtlAB非线性拟合中用JACoBiAn拟合的效果不是很好...

你的拟合似乎有问题,如果使用nlinfit拟合,在[b,r,j]=nlinfit(xe,ye,fun,b0) 中参数xe为矩阵,ye为向量,而且xe的每一行对应ye的每个值。你所给的xe和ye都为行向量。 为何用这么复杂的来拟合呢?直接用多项式拟合(polyfit)岂不更好?

cftool是已经解出函数来了,可以对函数求导,对函数求解。可能会用到建立函数可能会用到syms,@(),求导可能会用到diff,grandient,jacobian,对函数求解可能会用到fsolve

当然可以,定义abcd为符号变量,然后直接求就可以了: >> syms a b c d>> syms x y>> jacobian([a*x+b*y;c*x*y+d*y^2],[x y]) ans = [ a, b][ c*y, c*x+2*d*y]

补充回答:数据不好 建立函数文件: function y = myfun(beta,x) y = 2.350176*beta(1)*(1-1/beta(2))*(1-(1-x(:,1).^(1/beta(2))).^beta(2)).^2.*(x(:,1).^(-1/beta(2))-1).^(-beta(2)).*x(:,1).^(-1/beta(2)-0.5).*x(:,2); 运行代码: x=[0.42...

方法: syms x y z; J=jacobian([3*x;2*y+3*z;x*z],[x y z]) subs(J,{x,z},{1,2}) MATLAB中jacobian是用来计算Jacobi矩阵的函数。 syms r l f x=r*cos(l)*cos(f); y=r*cos(l)*sin(f); z=r*sin(l); J=jacobian([x;y;z],[r l f]) 结果: J = [ cos...

syms x y; %注意是syms f = exp(x^2+y^2); df_dx = diff(f, x); df_dy = diff(f, y); 求x=0.5, y=0.5处的f对y的偏导数: res_df_dy = subs(df_dy, {x, y}, {0.5,0.5}); 同理可求对x的偏导数的值。 海森矩阵的求法(雅可比): Hf=jacobian(jacob...

syms x1, x2; jacobian([5-x1*x2/8-x2^2/4/x1^2, -x1^2/16+x2/2/x1], [x1,x2]);

这个警告信息是说,模型(拟合函数)对某些参数不敏感。 可能的原因包括: (1)拟合函数中的某些参数对函数值没影响,这种情况应该考虑修改拟合函数的形式。 (2)数值计算出现下溢(underflow),这种情况有可能通过修改参数初值或者对数据进...

非线性曲线拟合是已知输入向量xdata和输出向量ydata,并且知道输入与输出的函数关系为ydata=F(x, xdata),但不知道系数向量x。今进行曲线拟合,求x使得输出的如下最小二乘表达式成立: min Σ(F(x,xdatai)-ydatai)^2 函数 lsqcurvefit 格式 x = l...

4.6统计作图4.6.1正整数的频率表命令正整数的频率表函数tabulate格式table=tabulate(X)%X为正整数构成的向量,返回3列:第1列中包含X的值第2列为这些值的个数,第3列为这些值的频率。例4-49>>A=[1225638]A=1225638>>tabulate(A)ValueCountPercen...

网站首页 | 网站地图
All rights reserved Powered by www.fkjj.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com