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

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

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

Juliaとは、科学技術計算に特化した、高水準・高性能な動的プログラミング言語です。オープンソースとして公表されており、書き易く動きが早いことが特徴です。

Q&A

解決済

2回答

181閲覧

黒体放射のスペクトルの図がうまくできない(julia)

siti

総合スコア7

Julia

Juliaとは、科学技術計算に特化した、高水準・高性能な動的プログラミング言語です。オープンソースとして公表されており、書き易く動きが早いことが特徴です。

1グッド

0クリップ

投稿2024/10/10 01:19

実現したいこと

http://skomo.o.oo7.jp/f17/hp17_5.htm
こちらに載っている黒体輻射の式を実現させたい

発生している問題・分からないこと

ひとまず無難にコードを書いて、
Plotsで出力させたのですが、
正しい図とは別の結果が出力されます。
両極限で0に近い値が出るはずなのですが、
0極限で正の∞に発散してしまいます。
計算方法を間違えているのでしょうか?
昨日からずっと見ているのですが、誤りを見つけられず…、もしかすると根本的にjuliaの使い方の間違いかと思い、こちらで質問させていただきました。

using Plots function black1(wave_number,T) h_bar = 6.62607015e-34 c = 2.99792458e+08 k_b = 1.380649e-23 a = 2.0 * pi * h_bar * (c^2) / (wave_number^5) b = 1 / (exp(h_bar*c/(k_b*T*wave_number)) - 1.0) I_abs = a * b return I_abs end x = [] y = [] for i = 1:1:1000000 # xx = i*1 x = push!(x,i*1e-6) y = push!(y,black1(i*1e-6,750)) end plot(x,log10.((y)))

エラーメッセージ

error

1違うグラフが出てくる

該当のソースコード

特になし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

Pythonのコードをコピペして、juliaに書き直したがうまくいかなかった。
https://runtascience.hatenablog.com/entry/2021/05/01/%E3%80%90Science%E3%80%91%E9%BB%92%E4%BD%93%E6%94%BE%E5%B0%84%E3%81%AE%E5%BC%8FPlanck%E3%81%AE%E6%B3%95%E5%89%87%28Planck%27s_law%29%E3%82%92Python%E3%81%A7%E8%A8%88%E7%AE%97%26%E6%8F%8F%E5%86%99

補足

特になし

melian👍を押しています

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

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

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

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

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

guest

回答2

0

多分,両方リニアで横軸の間隔を詰めれば欲しいグラフになると思いますよ

julia

1using Plots 2function black1(wave_number,T) 3 h_bar = 6.62607015e-34 4 c = 2.99792458e+08 5 k_b = 1.380649e-23 6 a = 2.0 * pi * h_bar * (c^2) / (wave_number^5) 7 b = 1 / (exp(h_bar*c/(k_b*T*wave_number)) - 1.0) 8 I_abs = a * b 9 return I_abs 10end 11x = [] 12y = [] 13for i = 1:10000 14 # xx = i*1 15 push!(x,i*1e-9) 16 push!(y,black1(i*1e-9, 750 + 273)) # 絶対温度に直す 17end 18plot(x .* 10^6, y, xlabel="[μm]") 19savefig("result.png")

イメージ説明

投稿2024/10/10 03:20

ujimushi_sradjp

総合スコア2138

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

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

0

ベストアンサー

参考にしている記事を読みますと、両対数スケールにする必要がありそうです。

julia

1plot(x, y, xaxis=:log, yaxis=:log)

イメージ説明

投稿2024/10/10 02:13

melian

総合スコア20530

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.39%

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

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

質問する

関連した質問