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

供稿:hz-xin.com     日期:2025-01-15
一道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);

matlab对函数参数进行拟合
c=lsqcurvefit(f,1,x,y)通过这样的操作,MATLAB将尝试找到一个最佳的参数c值,使得函数f能够最好地拟合给定的数据点(x, y)。lsqcurvefit()函数能够优化参数,使目标函数的平方和最小化,从而达到最佳拟合效果。除了lsqcurvefit(),nlinfit()函数也是一种常用的拟合工具,它同样适用于非线性数据的拟合。

如何用matlab实现非线性最小二乘拟合
如何用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)

matlab如何实现曲线拟合matlab做曲线拟合的教程
4、选择拟合的曲线类型,一般是线性拟合,高斯曲线,平滑曲线等,根据需要选择。选择完后会自动完成拟合,并且给出拟合函数表达式。5、点击菜单栏中的“file”,选择“print to figure"进行画图。6、在图形窗口中,可以对图形显示模式进行修改,如添加标题,坐标名称等。7、最后得到比较完整的图形曲线。点击...

用MATLAB拟合求多元非线性方程系数
拟合结果为 r=4.4121, b=80.7243 拟合函数为 y=exp(4.4121*x-80.7243*x*z)

在Matlab中如何数据拟合函数?
在Matlab中进行数据拟合,可以使用 fit 函数。该函数可以用来生成拟合模型,对数据进行拟合,并返回拟合模型对象。下面是一个简单的数据拟合的例子:假设我们有一组数据,x 和 y 分别表示自变量和因变量:x = [1 2 3 4 5];y = [3 5 7 9 11];现在我们想拟合一个一次函数,即 y = a*x + ...

如何用matlab数据拟合函数?
Matlab有一个功能强大的曲线拟合工具箱 cftool ,使用方便,能实现多种类型的线性、非线性曲线拟合。下面结合我使用的 Matlab R2007b 来简单介绍如何使用这个工具箱。\\x0d\\x0a\\x0d\\x0a假设我们要拟合的函数形式是 y=A*x*x + B*x, 且A>0,B>0。\\x0d\\x0a\\x0d\\x0a1、在命令行输入...

使用matlab lsqcurvefit的问题?
非线性曲线拟合是已知输入向量xdata和输出向量ydata,并且知道输入与输出的函数关系为ydata=F(x, xdata),但不知道系数向量x。今进行曲线拟合,求x使得输出的如下最小二乘表达式成立。非线性曲线拟合是已知输入向量xdata和输出向量ydata,并且知道输入与输出的函数关系为ydata=F(x, xdata),但不知道系数...

如何使用matlab实现数据的曲线拟合
打开Matlab软件,在命令窗口将数据导入,并分别给数据命名,这里以x ,Y命名两个行向量数据。x=[1,3,5,7,9,15];Y=[1,4,8,13,20,25];这里的数据也可以通过文件读取的方式导入(如csvread,load等命令)。在命令窗口输入cftool,打开拟合窗口。在拟合窗口选择要拟合的数据,那个作为x,哪个作为y。

MATLAB如何进行多元非线性拟合? x=[1,4,2,3,6,9,4,9] y=[2,5,7,3...
由最小二乘法求得,二元非线性函数。z=-0.7055*x^2-0.2840*x*y+0.5205*y^2+6.9613*x-1.3290*y+6.0030 拟合精度为 R^2 = 0.9792

怎么用MATLAB拟合函数的系数
直接使用polyfit函数,这个函数是用来实现多项式拟合的,你的函数可以看做是一个一次多项式,y与sin(x)的一次多项式 x=[1,2,3,4,5,6,7,8,9,10];y=[7,3,6,8,2,4,10,16,2,8];p=polyfit(sin(x),y,1)A=p(1)C=p(2)