xcxd.net
当前位置:首页 >> lsqCurvEFit在mAtlAB中拟合多元函数问题 >>

lsqCurvEFit在mAtlAB中拟合多元函数问题

function有问题 应该为xdata 而不是data function F=myfun(x,xdata) F=x(1)+x(2)*xdata(:,1)+x(3)*xdata(:,1).^2+x(4)*xdata(:,2)+x(5)*xdata(:,2).^2;

主要错误没有处理变量数组的关系,你只有把u,v,x,y看成一个变量数组X就ok了。所以将代码改为如下,就行了。 u=[。。。]';v=[。。。]';x=[。。。]';y=[。。。]';z=[。。。]'; X=[u v x y]; fun=@(p,x)(((p(1)*x(:,1)).^(4)-(p(1)*x(:,1)-p(2)*...

The lsqcurvefit function uses the same algorithm as lsqnonlin. lsqcurvefit simply provides a convenient interface for data-fitting problems. 大意是说lsqcurvefit和lsqnonlin是一毛一样的,只是lsqcurvefit提供的使用方式更简单方便些...

x1=[3.7797,3.7796,3.7893,3.7941,3.7607]; x2=[1.5103,1.5104,1.5005,1.4956,1.5297]; y=[1.9855,1.9856,1.9758,1.9711,2.0044]; C0 = [0,0,0,0,0]; x=x1+x2.*i; % 可先将x1和x2作为一个复数x的实部和虚部,然后拟合多输入变量 [xishu,resnorm]...

首先把那个function改成下面 function y=myfun(x,xdata) y=x(1)*(exp(-x(4))*(x(4)./xdata))+x(2)*(xdata.^(-x(5)))+x(3); 其次command Windows里的xdata和ydata长度不匹配,xdata有14个,ydata只有13个。我把xdata改为xdata=[1 2 3 4 5 6 7 8 9...

把function F=mihanshu(x,a) 改为 function F=mihanshu(a,x)

function [ F ] = myfun5( x,xdata )中F不是返回值,不用[],直接是function F = myfun5( x,xdata )

求解曲线拟合问题的一般过程是,先通过观察曲线形状大致确定函数的形式,然后对函数的参数有个大概的估计作为初值,拟合后画出曲线来看看效果,如果效果不理想,就考虑修改初值或函数的形式再试。有时候需要经过多次尝试才能得到满意的结果。 需...

norm(fit,f)^2 fit 拟合函数值, f 原来的函数值! norm 求他们的差值, 小的话就拟合效果好

把原数据图像和拟合图像画到一个图中就看出来了

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