matlab中inline函数的使用问题代码如下:>> t=[0.25,0.5,0.75,1,1.5,2,2.5,3,3.5,4,4.5,5,6,7,8,9,10,11,12,13,14,15,16];>> c2=[30,68,75,82,82,77,68,68,58,51,50,41,38,35,28,25,18,15,12,10,7,7,4];>> f=inline('a(1)*exp(-a(3)*t)*((exp(a(3)*t)-1)/a
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/07 00:06:48
![matlab中inline函数的使用问题代码如下:>> t=[0.25,0.5,0.75,1,1.5,2,2.5,3,3.5,4,4.5,5,6,7,8,9,10,11,12,13,14,15,16];>> c2=[30,68,75,82,82,77,68,68,58,51,50,41,38,35,28,25,18,15,12,10,7,7,4];>> f=inline('a(1)*exp(-a(3)*t)*((exp(a(3)*t)-1)/a](/uploads/image/z/13110096-48-6.jpg?t=matlab%E4%B8%ADinline%E5%87%BD%E6%95%B0%E7%9A%84%E4%BD%BF%E7%94%A8%E9%97%AE%E9%A2%98%E4%BB%A3%E7%A0%81%E5%A6%82%E4%B8%8B%EF%BC%9A%3E%3E+t%3D%5B0.25%2C0.5%2C0.75%2C1%2C1.5%2C2%2C2.5%2C3%2C3.5%2C4%2C4.5%2C5%2C6%2C7%2C8%2C9%2C10%2C11%2C12%2C13%2C14%2C15%2C16%5D%3B%3E%3E+c2%3D%5B30%2C68%2C75%2C82%2C82%2C77%2C68%2C68%2C58%2C51%2C50%2C41%2C38%2C35%2C28%2C25%2C18%2C15%2C12%2C10%2C7%2C7%2C4%5D%3B%3E%3E+f%3Dinline%28%27a%281%29%2Aexp%28-a%283%29%2At%29%2A%28%28exp%28a%283%29%2At%29-1%29%2Fa)
matlab中inline函数的使用问题代码如下:>> t=[0.25,0.5,0.75,1,1.5,2,2.5,3,3.5,4,4.5,5,6,7,8,9,10,11,12,13,14,15,16];>> c2=[30,68,75,82,82,77,68,68,58,51,50,41,38,35,28,25,18,15,12,10,7,7,4];>> f=inline('a(1)*exp(-a(3)*t)*((exp(a(3)*t)-1)/a
matlab中inline函数的使用问题
代码如下:
>> t=[0.25,0.5,0.75,1,1.5,2,2.5,3,3.5,4,4.5,5,6,7,8,9,10,11,12,13,14,15,16];
>> c2=[30,68,75,82,82,77,68,68,58,51,50,41,38,35,28,25,18,15,12,10,7,7,4];
>> f=inline('a(1)*exp(-a(3)*t)*((exp(a(3)*t)-1)/a(3)-(exp(a(3)*t-a(2)*t)-1)/(a(3)-a(2)))','a','t');
>> [a,J]=lsqcurvefit(f,[102.04,2,1],t,c2);
? Error using ==> inlineeval at 15
Error in inline expression ==> a(1)*exp(-a(3)*t)*((exp(a(3)*t)-1)/a(3)-(exp(a(3)*t-a(2)*t)-1)/(a(3)-a(2)))
Inner matrix dimensions must agree.
Error in ==> inline.feval at 36
INLINE_OUT_ = inlineeval(INLINE_INPUTS_, INLINE_OBJ_.inputExpr, INLINE_OBJ_.expr);
Error in ==> lsqcurvefit at 209
initVals.F = feval(funfcn_x_xdata{3},xCurrent,XDATA,varargin{:});
Caused by:
Failure in initial user-supplied objective function evaluation. LSQCURVEFIT cannot continue.
请教一下,如何修改程序代码?
matlab中inline函数的使用问题代码如下:>> t=[0.25,0.5,0.75,1,1.5,2,2.5,3,3.5,4,4.5,5,6,7,8,9,10,11,12,13,14,15,16];>> c2=[30,68,75,82,82,77,68,68,58,51,50,41,38,35,28,25,18,15,12,10,7,7,4];>> f=inline('a(1)*exp(-a(3)*t)*((exp(a(3)*t)-1)/a
t=[0.25,0.5,0.75,1,1.5,2,2.5,3,3.5,4,4.5,5,6,7,8,9,10,11,12,13,14,15,16];
c2=[30,68,75,82,82,77,68,68,58,51,50,41,38,35,28,25,18,15,12,10,7,7,4];
f=inline('a(1)*exp(-a(3)*t).*((exp(a(3)*t)-1)/a(3)-(exp(a(3)*t-a(2)*t)-1)/(a(3)-a(2)))','a','t');%%中间有个地方需要加个点,不过你的初值不好啊,没结果
[a,J]=lsqcurvefit(f,[102.04,2,1],t,c2);