关于数值积分积完后是非数值的问题
mathematica吧
全部回复
仅看楼主
level 3
5rru6t67 楼主
请教各位群友,我设置了一个函数,里面有一个数值积分,运行后出现如下结果
全部代码如下:
Kr1 = 10;
Kz1 = 1;
Kr2 = 10;
Kz2 = 1;
Kp = 0.5;
S1 = 5;
S2 = 5;
Sp = 4;
b1 = 20;
b2 = 30;

bp
= 5;
rw = 1;
\[DoubledPi] = \[Pi];
s0 = 1;
(*p=1;
\[Xi]=1;*)
Dr1 = Kr1/S1;
\[Alpha]1 = Kz1/Kr1;
Dr2 = Kr2/S2;
\[Alpha]2 = Kz2/Kr2;
\[Tau] = (Sp bp^2)/(2 Kp);
\[Lambda]1[p_, \[Xi]_] := Sqrt[p + Dr1 \[Xi]^2]/(
Sqrt[Dr1] Sqrt[\[Alpha]1]);
\[Lambda]2[p_, \[Xi]_] := Sqrt[p + Dr2 \[Xi]^2]/(
Sqrt[Dr2] Sqrt[\[Alpha]2]);
B1 = bp + b1 + b2;
B2 = bp + b2;
\[Gamma] = Kp/bp;
C1[p_, \[Xi]_] := (Dr2 \[Gamma] Cosh[
B1 \[Lambda]1[
p, \[Xi]]] (-\[Gamma] (1 +
p \[Tau]) (Cosh[b2 \[Lambda]2[p, \[Xi]]] -
Cosh[B2 \[Lambda]2[p, \[Xi]]]) -
Kz2 Sinh[b2 \[Lambda]2[p, \[Xi]]] \[Lambda]2[
p, \[Xi]]))/(b2 Kr2 rw \[Xi] (p +
Dr2 \[Xi]^2) \[DoubledPi]^2 (-\[Gamma]^2 Cosh[(B1 -
b2) \[Lambda]1[p, \[Xi]]] Cosh[
B2 \[Lambda]2[
p, \[Xi]]] + (\[Gamma] (1 +
p \[Tau]) Cosh[(B1 - B2) \[Lambda]1[p, \[Xi]]] +
Kz1 Sinh[(B1 - B2) \[Lambda]1[p, \[Xi]]] \[Lambda]1[
p, \[Xi]]) (\[Gamma] (1 + p \[Tau]) Cosh[
b2 \[Lambda]2[p, \[Xi]]] +
Kz2 Sinh[b2 \[Lambda]2[p, \[Xi]]] \[Lambda]2[p, \[Xi]])));
C2[p_, \[Xi]_] := (Dr2 \[Gamma] Sinh[
B1 \[Lambda]1[
p, \[Xi]]] (\[Gamma] (1 +
p \[Tau]) (Cosh[b2 \[Lambda]2[p, \[Xi]]] -
Cosh[B2 \[Lambda]2[p, \[Xi]]]) +
Kz2 Sinh[b2 \[Lambda]2[p, \[Xi]]] \[Lambda]2[
p, \[Xi]]))/(b2 Kr2 rw \[Xi] (p +
Dr2 \[Xi]^2) \[DoubledPi]^2 (-\[Gamma]^2 Cosh[(B1 -
b2) \[Lambda]1[p, \[Xi]]] Cosh[
B2 \[Lambda]2[
p, \[Xi]]] + (\[Gamma] (1 +
p \[Tau]) Cosh[(B1 - B2) \[Lambda]1[p, \[Xi]]] +
Kz1 Sinh[(B1 - B2) \[Lambda]1[p, \[Xi]]] \[Lambda]1[
p, \[Xi]]) (\[Gamma] (1 + p \[Tau]) Cosh[
b2 \[Lambda]2[p, \[Xi]]] +
Kz2 Sinh[b2 \[Lambda]2[p, \[Xi]]] \[Lambda]2[p, \[Xi]])));
C3[p_, \[Xi]_] := (Dr2 \[Gamma] (-\[Gamma] Cosh[(B1 - b2) \[Lambda]1[
p, \[Xi]]] + \[Gamma] (1 +
p \[Tau])^2 Cosh[(B1 - B2) \[Lambda]1[p, \[Xi]]] +
Kz1 (1 +
p \[Tau]) Sinh[(B1 - B2) \[Lambda]1[p, \[Xi]]] \[Lambda]1[
p, \[Xi]]))/(b2 Kr2 rw \[Xi] (p +
Dr2 \[Xi]^2) \[DoubledPi]^2 (-\[Gamma]^2 Cosh[(B1 -
b2) \[Lambda]1[p, \[Xi]]] Cosh[
B2 \[Lambda]2[
p, \[Xi]]] + (\[Gamma] (1 +
p \[Tau]) Cosh[(B1 - B2) \[Lambda]1[p, \[Xi]]] +
Kz1 Sinh[(B1 - B2) \[Lambda]1[p, \[Xi]]] \[Lambda]1[
p, \[Xi]]) (\[Gamma] (1 + p \[Tau]) Cosh[
b2 \[Lambda]2[p, \[Xi]]] +
Kz2 Sinh[b2 \[Lambda]2[p, \[Xi]]] \[Lambda]2[p, \[Xi]])));
\[CapitalOmega][
r_, \[Xi]_] := (BesselJ[0, \[Xi] r]*BesselY[1, \[Xi]] -
BesselY[0, \[Xi] r]*BesselJ[1, \[Xi]])/(BesselJ[1, \[Xi]]^2 +
BesselY[1, \[Xi]]^2)
QL[p_] := (b2 s0)/(
p NIntegrate[(-(Dr2/(
Kr2 p rw \[DoubledPi]^2 +
Dr2 Kr2 rw \[Xi]\[Xi]^2 \[DoubledPi]^2)) + (
C3[p, \[Xi]\[Xi]] \[Xi]\[Xi] Sinh[
b2 \[Lambda]2[p, \[Xi]\[Xi]]])/\[Lambda]2[
p, \[Xi]\[Xi]]) \[CapitalOmega][rw, \[Xi]\[Xi]], {\[Xi]\[Xi],
0, Infinity}]);
QL[10]
困在这里已经很久了😂,想请问各位群友有没有什么解决的办法
2021年10月19日 09点10分 1
吧务
level 10
QL已有OwnValues定义,先清除了再看有没有其它问题
2021年10月19日 10点10分 2
不好意思这位群友,我才刚接触这个软件,只知道一些基础,请问清楚是用Clear嘛
2021年10月19日 10点10分
@5rru6t67
2021年10月19日 12点10分
@asdasd1dsadsa 谢谢这位吧友,但是又出现新的问题了
2021年10月22日 02点10分
level 3
5rru6t67 楼主
谢谢这位吧友了,我用Clear清除后问题就解决了,但我之后又写了几行函数,运行出来又有与之前的图片一样的非数值问题
我检查了一下,这个式子只是在外面再套了一下数值积分,按理说QL没问题最后两行这两个式子也没问题,但是依然运算不出结果
我也试过用Clear再次清楚sL1和sL2的定义,但是也没什么用。可能是我接触这个软件还不久的原因,想问问各位吧友还有没有什么办法。
新添加的代码如下:
sLW1[z_, p_, \[Xi]_] :=
QL[p] (C1 [p, \[Xi]] Cosh[z \[Lambda]1[p, \[Xi]]] +
C2[p, \[Xi]] Sinh[z \[Lambda]1[p, \[Xi]]])
sLW2[z_, p_, \[Xi]_] :=
QL[p] (Dr2/(b2 Kr2 rw \[Xi] (-p - Dr2 \[Xi]^2) \[DoubledPi]^2) +
C3 [p, \[Xi]] Cosh[z \[Lambda]2[p, \[Xi]]])
sL1[z_, p_, r_] :=
NIntegrate[
sLW1[z, p, \[Xi]]*\[Xi]*\[CapitalOmega][r, \[Xi]], {\[Xi], 0,
Infinity}]
sL2[z_, p_, r_] :=
NIntegrate[
sLW2[z, p, \[Xi]]*\[Xi]*\[CapitalOmega][r, \[Xi]], {\[Xi], 0,
Infinity}]
2021年10月21日 07点10分 4
报错说你QL里的数值积分算不出数值,你代一个数进去看看算出了什么东西不就知道问题了吗
2021年10月22日 06点10分
@asdasd1dsadsa 好的,谢谢这位吧友了
2021年10月25日 09点10分
1