【发布时间】:2015-11-07 22:43:40
【问题描述】:
我正在尝试解决这个等式:
K=sqrt((R*T)/(4*pi*lambda))*从-inf到inf的exp(-((lambda+F*neta)/R*T-x)^2的积分*R*T/4*lambda)/exp(x)+1 关于 x
其中,neta 是从 0 到 1 的区间,其他符号(R、T、F、lambda 和 pi)具有恒定值。
我尝试使用这些代码:
代码 1
clear all;
close all;
clc;
F = 96485.34;
R = 8.3145;
T = 298.15;
lambda = 0.2;
neta=0:0.1:1;
pi=3.1415;
f=@(x) exp(-((lambda+F*neta)/R*T-x).^2*R*T/4*lambda)/(exp(x)+1);
Q=integral(f,-inf,inf);
k= sqrt((R*T)/(4*pi*lambda)).*Q
代码 2
clear all;
close all;
clc;
F = 96485.34;
R = 8.3145;
T = 298.15;
lambda = 0.2;
neta=0:0.1:1;
pi=3.1415;
x= 0:100;
f(x)=exp(-((lambda+F*neta)/R*T-x).^2*R*T/4*lambda)/(exp(x)+1);
q=quadl('f', 0, 100);
k= sqrt((R*T)/(4*pi*lambda)).*q
但是这些代码会返回我不知道要解决的错误。 有人可以帮帮我吗?
谢谢
【问题讨论】:
-
向我们展示您的代码以及出了什么问题!如果不知道您的错误是什么,我们无法解决它。
-
嗨 Hugh Nolan,我不久前开始使用 matlab。我为这个等式尝试了不同的代码,但尝试失败......我希望有人能帮我为我写它。 ://
-
首先我尝试使用此代码:全部清除;关闭所有; cl; F = 96485.34; R = 8.3145; T = 298.15; λ = 0.2;净值=2 圆周率=3.1415; f=@(x) exp(-((lambda+Fneta)/RT-x).^2*RT/4*lambda)/(exp(x)+1) Q=积分(f,-inf,inf) k= sqrt((RT)/(4*pi*lambda)).*Q
-
之后,我尝试使用“quadl”功能:全部清除;关闭所有; cl; F = 96485.34; R = 8.3145; T = 298.15; λ = 0.2;净值=2 圆周率=3.1415; x= 0:100 f(x)=exp(-((lambda+Fneta)/RT-x).^2*RT/4*lambda)/(exp(x )+1) q=quadl('f', 0, 100) k= sqrt((RT)/(4*pi*lambda)).*q
-
在这种情况下,我更改了 x 的间隔,因为程序显示“超出了程序允许的最大变量大小”并且因为开发该等式的作者说这个积分函数是有限的小范围的 x。