matlab的nlinfit问题a=[1,1,1];>> r=15:49;>> b1=[ 0.000010000 0.000160000 0.000840000 0.002390000 0.004150000 0.010370000 0.019870000 0.028860000 0.044920000 0.055200000 0.054620000 0.059010000 0.059650000 0.068670000 0.055330000 0.040070000 0.03252

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 20:52:56

matlab的nlinfit问题a=[1,1,1];>> r=15:49;>> b1=[ 0.000010000 0.000160000 0.000840000 0.002390000 0.004150000 0.010370000 0.019870000 0.028860000 0.044920000 0.055200000 0.054620000 0.059010000 0.059650000 0.068670000 0.055330000 0.040070000 0.03252
matlab的nlinfit问题
a=[1,1,1];
>> r=15:49;
>> b1=[ 0.000010000 0.000160000 0.000840000 0.002390000 0.004150000 0.010370000 0.019870000 0.028860000 0.044920000 0.055200000 0.054620000 0.059010000 0.059650000 0.068670000 0.055330000 0.040070000 0.032520000 0.025670000 0.018140000 0.014650000 0.011940000 0.009660000 0.008380000 0.006950000 0.005590000 0.005320000 0.004050000 0.004600000 0.003400000 0.003210000 0.003420000 0.002950000 0.003690000 0.003750000 0.002660000 ];
>> fun=inline('1/sqrt(2*pi*a(2).^2)*exp(-1/2*(log(r-15)-a(1)).^2/a(2)^2)*a(3)','r','a');
>> ae=nlinfit(t,c,f,a);
程序显示错误:Error using ==> nlinfit at 127
MODELFUN should return a vector of fitted values the same length as Y.
然后我简化方程fun=inline('exp(log(r))','r','a'),还是那个错,
r,b1都是35个

matlab的nlinfit问题a=[1,1,1];>> r=15:49;>> b1=[ 0.000010000 0.000160000 0.000840000 0.002390000 0.004150000 0.010370000 0.019870000 0.028860000 0.044920000 0.055200000 0.054620000 0.059010000 0.059650000 0.068670000 0.055330000 0.040070000 0.03252
我的matlab告诉我这错.
MODELFUN must be a function that returns a vector of fitted values the same size as Y (1-by-35). The model function you
provided returned a result that was 1-by-3.
One common reason for a size mismatch is using matrix operators (*, /, ^) in your function instead of the corresponding
elementwise operators (.*, ./, .^).
如果你还不知道自己哪错了,就试试用fun=inline('exp(log(r))','a','r')再算一下(注意我给你的函数和你写的是不一样的)然后应该就知道了.

matlab的nlinfit问题a=[1,1,1];>> r=15:49;>> b1=[ 0.000010000 0.000160000 0.000840000 0.002390000 0.004150000 0.010370000 0.019870000 0.028860000 0.044920000 0.055200000 0.054620000 0.059010000 0.059650000 0.068670000 0.055330000 0.040070000 0.03252 求助matlab中nlinfit问题f=inline('((a(1)-a(4))./(1+(x/a(3).).^a(2)))+a( 4)','a','x');x=0.5:0.1:1.5y=[0,0,0.006,0.175,1.05,1.7,1.85,1.9,1.95,1.975,2]a0=[0,2,1,3]b=nlinfit(x,y,f,a0)plot(x,y,' o',x,f(b,x),'-')有错误Error using nlinfit (line 114 matlab中使用inline 和 nlinfit 报错!代码: myfunc=inline('a(1)/abs(x)+a(2)/sqrt(abs(x))+a(3)+a(4)*sqrt(abs(x))+a(5)*abs(x)','a','x');a=nlinfit(x,y,myfunc,[0.5 0.1 0.2 0.3 0.4]);错误:? Error using ==> nlinfit at 113Error evaluating inline matlab中nlinfit问题!mu=inline('beta(1)/(1+(beta(1)/100000-1)*exp(-beta(2)*(t-1981)))','beta','t')t=[1981,1982,1983,1984,1985]y=[1000,1111,1222,1333,1444]beta=nlinfit(t,y,mu,[0 0])L=beta(1)k=beta(2)目的是要拟合L和k,但是在nlinfit那里就 一些关于MATLAB的题目4,根据表1.1的数据,完成下列数据拟合问题(MATLAB)(1)如果用指数增长模型x(t)=x0e^r(t-t0)模拟美国人口1790到2000年的变化过程,请用MATLAB统计工具箱的函数nlinfit计算指数增 matlab nlinfit函数基于什么迭代算法写的 matlab 非线性参数辨识y=a*x+b*tan(c*x);求参数abc用matlab自带的nlinfit拟合的效果不是很好 p=nlinfit(x,y,@myFunc,[0.5,0.5,0.5]);请问还有什么更好的拟合方法么H=a*db+(b*tan(c*B)+sign(db));其中abc是需要求的参数H 求助matlab中nlinfit问题.紧急.function yhat=modelfun(beta,x)yhat=beta(1)*exp(beta(2)./x);x=2:16;y=[6.42 8.20 9.58 9.5 9.7 10 9.93 9.99 10.49 10.59 10.60 10.80 10.60 10.90 10.76];beta0=[8 2]';betafit=nlinfit(X,y',@modelfun,beta0);结果出现 用matlab进行非线性拟合 nlinfit函数有组数据x=[1.1389 1.0622 0.9822 0.934 0.9251 0.9158]; y=[0.03 1 5.03 15.05 19.97 30.3]; 拟合函数为y=-k*ln(x+a)-b;我的拟合程序是clc;clear; x=[1.1389 1.0622 0.9822 0.934 0.9251 0.9158]; y=[0 Matlab非线性多元拟合nlinfit函数出问题clearx=[1,1;2,2;-1,-2;0,-1;3,6]y=[10;23;-8;-3;19]a=[0.5 0.5 0.5 0.5 0.5]f=@(x,y)a(1)+a(2)*x(:,1)+a(3)*x(:,2)+a(4)*x(:,1)*x(:,2)+a(5)*x(:,1)^2;nlinfit(x,y,f,[0.5 0.5 0.5 0.5 0.5])结果Error using ==> n 在matlab中进行非线性拟合,不知道那出错了,如果用指数增长模型模拟美国人口1790年至2000年的变化过程,请用Matlab统计工具箱的函数nlinfit计算指数增长模型的以下三个数据拟合问题:(1)取定 问下matlab 中 nlinfit怎么用nlinfit怎么用呢 什么情况下使用 求出的是什么有例子么 matlab中的nlinfit函数时,参数需要回归系数的初值,如何确定?function yy=model(beta0,X)a=beta0(1);b=beta0(2);c=beta0(3);d=beta0(4);e=beta0(5);x1=X(:,1);x2=X(:,2);x3=X(:,3);x4=X(:,4);x5=X(:,5);yy=a*x1+b*x2+c*x3+d*x4+e*x5;主程序如下 我们用matlab中的nlinfit函数时,参数需要回归系数的初值,这个要怎么定啊, matlab拟合一个二元二次函数x=[ 数据 ];y=[ 数据 ];z=;[ 数据 ]fun =@(beta,x) beta(1)*x(:,1) + beta(2)*y(:,1) + beta(3);beta0 = [1; 1; 1];beta =nlinfit([x y],z,fun,beta0);>> beta这拟合出来的是二元二次的,怎样把它修改一 一个非线性拟合的matlab程序,不知哪儿错了yhat=beta(1)*exp(beta(2)./x1);x1=2000/3*[0 3 10 20 30 40];y1=800*ones(1,6)-8*[0 2.4 12.9 16.3 20.1 26.8];beta0=[8 2]';[beta,r,J]=nlinfit(x1',y1','volum',beta0);beta[YY,delta]=nlpredci('volum',x1' matlab啊!懂的都看看吧..t=0:18;x=[9.6,18.3,29.0,47.2,71.1,119.1,174.6,257.3,350.7,441.0,...513.3,559.7,594.8,629.4,640.8,651.1,655.9,659.6,661.8];f=@(b,t)b(2).*b(3)./(b(3)+(b(2)-b(3)).*exp(-b(1).*t));[b1,r]=nlinfit(t(1:19),x(1:19),f,[0.5,660,9. 求助matlab高手,用nlinfit曲线拟合时报错!Error using ==> mrdivide Matrix dimensions must agree.函数原型为y=(b1-b2)/(1+e^((x-x0)/d))+b2我的程序:b1,b2,x0,d 为四个待拟合参数y=[-1.5000 -1.9000 -2.0000 -2.1000 -2.4000 -2.6000 -2