对f=exp(-(log(t)-u).^2./(2.*d.^2))./d进行数值积分,其中u,d为未知参数,积分结果中带着u,d即可,积分上下限0,4
d=0.05
t=0:d:4
Q(i)=d*cumtrapz(t,f)
这样写,出现错误:
Undefined function 'max' for input arguments of type 'sym'.
Error in cumtrapz (line 45)
perm = [dim:max(length(size(y)),dim) 1:dim-1];
Error in Untitled6 (line 12)
Q(i)=d*cumtrapz(t,f)
对于你的问题,可以这样来进行进行数值积分,但未知参数u,d应各事先假设某一数值。然后在计算f值。
syms t
u=1, d=0.05
z=int(exp(-(log(t)-u).^2./(2.*d.^2))./d,0,4)
f=vpa(z,5)
追问我后面还要计算u d,所以不能提前赋值,我想要结果是含u d的式子
追答要么这样,保留变量u,给定d,进行数值计算。即
syms t u,d=0.05;y=int(exp(-(log(t)-u).^2./(2.*d.^2))./d,'t',0,4)
y =
1/2*pi^(1/2)*exp(u)*exp(1/800)*2^(1/2)-1/2*erf(-20*2^(1/2)*log(2)+10*2^(1/2)*u+1/40*2^(1/2))*pi^(1/2)*exp(u)*exp(1/800)*2^(1/2)
要么这样,保留变量u,给定d,进行数值计算。即
syms t u,d=0.05;y=int(exp(-(log(t)-u).^2./(2.*d.^2))./d,'t',0,4)
y =
1/2*pi^(1/2)*exp(u)*exp(1/800)*2^(1/2)-1/2*erf(-20*2^(1/2)*log(2)+10*2^(1/2)*u+1/40*2^(1/2))*pi^(1/2)*exp(u)*exp(1/800)*2^(1/2)
s是我定义的f吗,d为什么换成x(i)
追答积分用的是矩形积分,s就是你想要的
追问我想问d哪里去了,t是自变量,u,d是参数,结果中应该带u,d的。
本回答被提问者采纳