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)*...

function y=subfun(a,x) y=a(1)*exp(-0.7*x)*cos(a(2)*x+a(3)); 这一段代码要使用点乘。 function y=subfun(a,x) y=a(1).*exp(-0.7*x).*cos(a(2).*x+a(3)); 运行结果如下: 希望采纳,设置为满意答案谢谢。

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

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

首先把那个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...

你的问题主要是没有理解lsqcurvefit使用规则,即函数要求 a拟合系数=lsqcurvefit('函数表达式',初值x0,自变量X,因变量y); 对于多自变量x1、x2,应这样处理,将多自变量看成自变量向量,即 X=[x1 x2]。 所以,问题可以变成这样 X=[kdata ,ldat...

由于你没有具体的数据结构,无法为你提供具体的代码。只能将“用matlab如何将excle中的数据拟合成多元非线性函数并做出图”的实现步骤说明如下: 首先,用xlsread()函数来读取excel 的数据。并赋值给A A=xlsread('xxx.xls') 第二,由矩阵A,提...

“内联函数的输入数目太多。”的错误,就是输出变量 benifit 与输入变量 beta不对应。其二,nlinfit('x','yy','@myfun',beta0)中的x,yy,@myfun不需要用单引号。应按下列形式更改为 beta= nlinfit(x,yy,@myfun,beta0); 更改后运行,发现还是有问题...

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]...

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