質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

Q&A

0回答

325閲覧

複素数の使い方がわからないのと(これは、iではなく、complex関数を使う事により切り抜けたようです)、3次元プロットの方法(これは、まだグラフが表示されません)を確認したい

pontoon

総合スコア28

R

R言語は、「S言語」をオープンソースとして実装なおした、統計解析向けのプログラミング言語です。 計算がとても速くグラフィックも充実しているため、数値計算に向いています。 文法的には、統計解析部分はS言語を参考にしており、データ処理部分はSchemeの影響を受けています。 世界中の専門家が開発に関わり、日々新しい手法やアルゴリズムが追加されています。

0グッド

0クリップ

投稿2022/12/09 23:10

編集2022/12/10 18:12
library(rgl) # On console p = array(1:72000, dim=c(20,36,100)) k = 4187 # phase constant [rad/m] = (2*pi)/lambda =(2*3.14)/(1500/1000000) a = 0.0025 # radius of diaphragm [m] f = 1000000 # frequency [Hz] rou = 1.06 # density for (r0 in 1:20) # Deapth [*5 mm] { for (gamma in 1:36) { Jn_z = 0 for (m in 1:100) { z = k*a*sin(gamma*10) P_Jn = (((-1)^m)/(factorial(m)*factorial(m+1)))*(z/2)^(2*m+1) Jn_z = Jn_z + P_Jn } Imp<-complex(real=0,imaginary=2*pi*f*rou) Phase<-complex(real=0,imaginary=2*pi*f-k*r0) p[r0,gamma,m] = Imp*(a^2*5*exp(Phase))/(r0*(Jn_z/(k*a*sin(gamma*10)))) # Sound Pressure = ρ*(d(fai)/dt) ω*ρ*((a^2)*Vm*e^j(ωt-kr0))/r0*(J1((k*a*sinγ)/(k*a*sinγ)) } } plot3d(x = r0, y = gamma, z = m )    # この命令で、グラフが表示されない

でも複素数の計算でエラーで、プロットの仕方もこれでいいのかわからない

実現したいこと

小さな音源から出る音圧(3次元的な広がりを計算ししたものを)
p[r0,gamma,m]のグラフとして表示したい。

発生している問題・エラーメッセージ

エラーメッセージ

最後の命令文:
plot3d(x = r0, y = gamma, z = m )
の所で、
Warning message:
In xyz.coords(x, y, z, xlab = xlabel, ylab = ylabel, zlab = zlabel, :
imaginary parts discarded in coercion

該当のソースコード

R (RStudioの元で使っている)
ソースコード(全コード)

library(rgl) # On console

p = array(1:72000, dim=c(20,36,100))

k = 1 # phase constant [rad/m]
a = 0.0025 # radius of diaphragm [m]
f = 1000000 # frequency [Hz]
rou = 1.06 # density

for (r0 in 1:20) # Deapth [5 mm]
{
for (gamma in 1:36)
{
Jn_z = 0
for (m in 1:100)
{
z = k
asin(gamma10)
P_Jn = (((-1)^m)/(factorial(m)factorial(m+1)))(z/2)^(2m+1)
Jn_z = Jn_z + P_Jn
}
p[r0,gamma,m] = (2
pifrou)i*((a^25exp((2pif-kr0)i))/r0(Jn_z/(kasin(gamma10))) # Sound Pressure = ρ(d(fai)/dt) ωρ*((a^2)Vme^j(ωt-kr0))/r0*(J1((k*a*sin(gamma))/(k*a*sin(gamma)))
}
}

plot3d(x = r0, y = gamma, z = m )

試したこと

希望としては、
x軸がr0、y軸がgamma、z軸がにして、
p[r0,gamma,m]は、その各点での色の濃さのような
表現のし方が出来ればいいんだけど、グラフ自体が
表示されないので、何とも。。。

補足情報(FW/ツールのバージョンなど)

3次元プロットも、
plot3d(x = r0, y = gamma, z = m )
でいいかどうかも確認したい

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2022/12/09 23:32

このままではコードが読めないので、質問を編集し、</>(コードの挿入)ボタンを押し、出てくる’’’の枠の中にコードを貼り付けてください
KojiDoi

2022/12/10 09:12

> コードが読めないので 同じ指摘を何度もしてますが、この人全然学習しないんですよ。もう放置しときましょう。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問