0

別の変数の関数を変数として取る関数の 3D プロットを作成したいと思います。

私の関数は部分関数でネストされているため、全体が複雑になっています

ここに私のコードがあります:

phi0=Function[u,1.21*10^-6/((u/10^44.25)^1.01 + (u/10^44.25)^2.38)][Lx]
zc=Function[v,Piecewise[{{2.49,v>=10^45.74},{2.49*(v/10^45.74)^0.2,v<10^45.74}}]][Lx]

e=Function[uu,Piecewise[{{(1+uu)^4.62,uu<=zc},{(1+zc)^4.62*((1+uu)/(1+zc))^-1.15,uu>zc}}]][z]

Plot3D[e[z,Lx],{z,0,7},{Lx,10^42,10^47}, PlotRange->Full]

しかし、それは何もプロットしておらず、何をすべきかわかりません

編集:

ヒントをありがとう、私はこの方法で解決したと思います。エラーは出ていませんが、1点でも結果を評価するのに時間がかかります...それは正常だと思いますか?

phizero[Lx_] := 1.21/10^6/((Lx/10^44.25)^1.01 + (Lx/10^44.25)^2.38)

zc[Lx_] := 
 Piecewise[{{2.49, Lx >= 10^45.74}, {2.49*(Lx/10^45.74)^0.2, 
    Lx < 10^45.74}}]

e[z_, Lx_] := 
 Piecewise[{{(1 + z)^4.62, 
    z <= zc[Lx]}, {(1 + zc[Lx])^4.62*((1 + z)/(1 + zc[Lx]))^-1.15, 
    z > zc[Lx]}}]

phi[z_, Lx_] := phizero[Lx]*e[z, Lx]

(*D[phi[z,Lx],Lx]:=Lx*phi[z,Lx]*)

p[z_, Lx_] = Integrate[Lx*phi[z, Lx], Lx]
p[4, 10^44]
4

2 に答える 2

1

まず、関数は次のように機能します。

In[1]:= q = Function[x, x^2];
In[2]:= q[4]
Out[2]= 16

したがって、各関数定義の最後にある [var] を失います。あなたもできる

q[x_]:= x^2

Function[] の使用が簡単な場合はスキップします。

次に、単一の引数を受け入れるように関数 e を定義しますが、Plot3D 内で使用する場合は 2 つの引数を指定します。したがって、関数 e の定義がどうあるべきかを理解する必要がありますが、その方法を推測することさえできません。

于 2013-09-25T19:15:23.717 に答える