使用MATLAB7进行非线性拟合,拟合完出现??? Input must be real. Error in ==> erf at 18等,具体见补充

作者&投稿:锺史 (若有异议请与网页底部的电邮联系)
一道matlab中lsqcurvefit非线性拟合的问题,求高人指点!!!~

你a 和 t赋值没有呀?

在进行拟合时,是可以得到系数的,但要看你的程序是咋写的,系数是在哪句里得出的。最好把程序发来看看。

function f=fun(beta0,x)
Cs=beta(1);Da=beta(2);C0=beta(3);
x1=x;
f=Cs-(Cs-C0).*erf(x1./sqrt(4.*Da.*28));
end
x=[1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22 24]';
y=[0.334 0.374 0.246 0.229 0.229 0.213 0.175 0.151 0.137 0.110 0.090 0.076 0.064 0.058 0.062 0.058 0.056]';
beta0=[0.08 0.01 0.02]';
[beta,r,j]=nlinfit(x,y,@fun,beta0);


我电脑是WIN7 旗舰版,安装了matlab7.0,运行时就出现下面的图,请高手解...
atlas_P4.dll(P4的用这个),atlas_PIII.dll(P3的用这个),atlas_PII.dll(P2的用这个),atlas_PPro.dll(P4以上)请按如下步骤进行:右击计算机,选择属性-->高级系统设置--> (右下角的)环境变量-->新建--> 变量名为BLAS_VERSION,值为上面四个dll文件之一的绝对路径 (比如:*\\Matlab7\\bin\\win32\\...

win7下装MATLAB7.0装上用不了
1.右击我的电脑,选择属性.2.在\\"高级\\"选项卡中点击\\"环境变量\\"3.在系统变量下面添加如下内容(按\\"新建\\"):例如:变量名:BLAS_VERSION 变量值:X:\\Matlab7\\bin\\win32\\atlas_Athlon.dll (注:这个X是你的matlab的安装盘符,换句话说,这个是这个atlas_Athlon.dll 的路径,自己对着改一下)然后...

我在win7装了MATLAB7.0,打开时总是闪退,卸载老是出现下面情况,卸载不了...
matlab7 有很多地方都是都有问题,你可以看一下第四个;推荐matlab2010a 1、安装过程中无响应 将Windows主题改成经典主题 2、启动时弹出runtime error 右键Matlab,属性,兼容性,修改为Vista 3、成功启动却在command window中出现 “The element type "name" must be terminated by the matching end-...

windows10安装matlab 7后点开就这样,网上说的在c盘建文件,我也建了,没...
提示窗口是环境,就是说你的环境不对,你需要重新安装这个环境的。runtime 环境需要vc2005、08、10 和 .netframework,如果安装失败,说明win10本身兼容性差点意思,可以考虑换win7的。

win7下安装MATLAB运行是提示:“This application has requested the Run...
This application has requested the Runtime to terminate it in an unusual way.Please contact the application's support team for more information.解决方法:改变matlab7的属性,选择matlab7,点击右键-属性-兼容性,在一下兼容模式运行这个程序:下选择windows Vista (Service Pack 2) 即可。matlab...

如何用matlab拟合7次指数函数,急需
谢谢,祝你快乐,嘿嘿

如何用matlab计算sin7°并分析展开阶数?
使用matlab如何利用 Taylor公式近似计算sin7°,并分析展开点x和展开阶数?第一步,根据sin7°,创建函数f=sin(x)第二步,利用taylor()函数,对f=sin(x)进行关于x=a(a=7)幂级数展开,即 taylor(f,x,'Order',n)当n=5时,p=taylor(f,x,'Order',5),%p=-...

matlab7.0在win7不能用怎么回事
兼容问题,你可以先把本色方案调成windows经典就行了, 控制面板\\外观\\显示\\更改本色方案\\windows经典 然后再打开matlab就o了

win7系统安装matlab7.0后,输入内容时,光标位置不动,输入的文字挤在一...
一般来说,matlab中默认字体是10号字体,而有的电脑并不适应这一字体,只需重新设置字号即可。打开matlab::file---preferences--fonts--(右侧第四行中的字体)将10改为9或12及其他都可--(右下角)Apply--ok。按这顺序进行设置即可。

用matlab求7*7行列式的特征向量。 行列式为
7.0136 0 0 0 0 0 0 0 -0.0068 + 0.3082i 0 0 0 0 0 0 0

高明区17366192918: 使用MATLAB7进行非线性拟合,拟合完出现??? Input must be real. Error in ==> erf at 18等,具体见补充 -
毋花益多: function f=fun(beta0,x) Cs=beta(1);Da=beta(2);C0=beta(3); x1=x; f=Cs-(Cs-C0).*erf(x1./sqrt(4.*Da.*28));endx=[1 2 3 4 5 6 7 8 9 10 12 14 16 18 20 22 24]';y=[0.334 0.374 0.246 0.229 0.229 0.213 0.175 0.151 0.137 0.110 0.090 0.076 0.064 0.058 0.062 0.058 0.056]';beta0=[0.08 0.01 0.02]';[beta,r,j]=nlinfit(x,y,@fun,beta0);

高明区17366192918: 如何用matlab实现非线性最小二乘拟合 -
毋花益多: 用matlab实现非线性最小二乘拟合,可以用lsqcurvefit( )完成.例如:n=[1 2 4 8]; t=[7.21 6.88 6.32 5.84]; func=@(c,n)c(2)*n.^c(1); c0=[7,-0.1]; [c,resnorm,residual,exitflag]=lsqcurvefit(func,c0,n,t) a=c(2);b=c(1);

高明区17366192918: matlab中如何做非线性最小二乘拟合 -
毋花益多: 程序为: x=[15,30,45,60,75,90,105,120,135,150,165,180,195,210,225,240,255,270]; y=[7,7.9,8.8,10,11,12.6,14,14.6,15.2,15.7,16.2,16.4,16.7,17,17.3,17.5,17.7,18.0]; p=polyfit(x,y,2) x2=0:300; y2=polyval(p,x2); plot(x,y,'o',x2,y2) 结果为: p =-0....

高明区17366192918: 用matlab对非线性函数中的参数进行拟合.
毋花益多: 这个其实就是一个简单的数据拟合,用不着那么复杂,使用下面的公式就行了 t=[1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8]'; y=[2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9]'; e=[1 2 3 4 5 6 7 8]'; T6=0.5;Ta=0.7; p=[t.^2.*(1-e) (2-t.^2.*(1-e))*T6]\(y./(t.*e)+(1-t.*e-t.^2+e.*t.^2)*Ta); a=p(1) b=p(2) 祝你学习愉快

高明区17366192918: 如何用matlab进行多元曲线拟合 -
毋花益多: 可以做到!!关于参数问题 help之 我一般喜欢使用nlinfit 非线性拟合,我用过很多次发现要用好她 的关键在于你要找到一个很好的初值举个例子: 椭圆的方程可以是 ax^2+by^2+cxy+dx+ey+f=0; 发现其实双曲线,抛物线和他的一样 所以你在选...

高明区17366192918: 请教matlab多变量非线性函数拟合 -
毋花益多: nlinfit(), 先定义内联函数func=inline(' ','beta','x') 然后使用,beta=nlinfit(x,y,func,[迭代初始值])进行拟合. 可以用help nlinfit在matlab中查看详细的用法.

高明区17366192918: matlab 多元非线性函数拟合 -
毋花益多: 因为这个函数的形式比较特殊,对其两边取对数后得到 log(y)=log(a)+b*log(x1)+c*log(x2) 于是立即就转换为了线性拟合 [1 log(x1) log(x2)]*[log(a) b c]'=log(y) 于是[log(a) b c]'=[1 log(x1) log(x2)]\log(y) 这样就可以得到a,b,c了.不需要进行非线性拟合...

高明区17366192918: 用matlab 进行非线性拟合(nlinfit)为什么会出现越拟合越不对的情况?哪位高手指点一下错在哪里? -
毋花益多: 一般来说拟合是采用多项式拟合,所以随着你计算的增多,偏差很可能越来越大,多项式的选取是关键.

高明区17366192918: Matlab如何利用非线性拟合求解未知参数? -
毋花益多: 对式子两边取对数,就化成一个多项式了,然后使用polyfit函数进行拟合就可以求解了!

高明区17366192918: 在MATLAB中如何实现数据拟合 -
毋花益多: sftool 或者 cftool. 拟合要看你想怎么拟合,用什么函数形式,什么方法拟合.除了cftool工具箱,matlab提供了fit ,fitoption ,fittype 这些强大的函数.这三个函数配合,你可以做任何形式的拟合.help一下这3个函数.比cftool工具箱强大.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网