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

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

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

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

5885閲覧

エラーの解決をしたい。TypeError: loop of ufunc does not support argument 0 of type Float which has no callable

hataki7

総合スコア4

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2020/08/25 09:57

編集2020/08/25 10:15

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

--------------------------------------------------------------------------- AttributeError Traceback (most recent call last) AttributeError: 'Float' object has no attribute 'exp' The above exception was the direct cause of the following exception: TypeError Traceback (most recent call last) <ipython-input-19-6078c30c8f23> in <module> 11 y=np.zeros(10000) 12 for k in range(10000): ---> 13 y[k]=P(v[k]) <ipython-input-19-6078c30c8f23> in P(v) 8 v=np.logspace(6,23,10000) 9 def P(v): ---> 10 return (np.sqrt(3)*q**3*B*sin_pa/(m*c**2))*A(v/v_c) 11 y=np.zeros(10000) 12 for k in range(10000): <ipython-input-8-a3e9f923667c> in A(x) 5 return F(x) 6 else: ----> 7 return H(x) <ipython-input-7-9ec1b5e6fe54> in H(x) 2 return (4*np.pi/np.sqrt(3)/a)*(x/2)**(1/3) 3 def H(x): ----> 4 return ((np.pi/2)**(1/2))*(x**(1/2))*(np.exp(-x)) TypeError: loop of ufunc does not support argument 0 of type Float which has no callable exp method

該当のソースコード

A(x)、sin_pa,m,c,q,は前の段階で関数または数値として定義しています。
A(x)からA(v/v_c)への移行は下のコードが初めてです。

from scipy.special import kv import matplotlib.pyplot as plt from scipy.integrate import quad import numpy as np import math from math import gamma from sympy import * import os

python

1for i in range(5): 2 BmG=10**i 3 B=BmG*10**(-6) 4 5 for j in range (6): 6 g=10**i 7 v_c=3*a**2*q*B*sin_pa/(2*m*c*(2*np.pi)) 8 v=np.logspace(6,23,10000) 9 def P(v): 10 return (np.sqrt(3)*q**3*B*sin_pa/(m*c**2))*A(v/v_c) 11 y=np.zeros(10000) 12 for k in range(10000): 13 y[k]=P(v[k])

試したこと

python

1def P(v): 2 v.float() 3 return (np.sqrt(3)*q**3*B*sin_pa/(m*c**2))*A(v/v_c)

にすると

AttributeError Traceback (most recent call last) <ipython-input-22-6eeb167a8524> in <module> 12 y=np.zeros(10000) 13 for k in range(10000): ---> 14 y[k]=P(v[k]) <ipython-input-22-6eeb167a8524> in P(v) 8 v=np.logspace(6,23,10000) 9 def P(v): ---> 10 v.float() 11 return (np.sqrt(3)*q**3*B*sin_pa/(m*c**2))*A(v/v_c) 12 y=np.zeros(10000) AttributeError: 'numpy.float64' object has no attribute 'float'

となる
また、A(v/V_c)ではなくA(v)としたらエラーが出てこないで済みます。

def P(v): return (np.sqrt(3)*q**3*B*sin_pa/(m*c**2))*A(v)

A(x)からA(v/v_c)への移行がうまくいっていないのだと思います。

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

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

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

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

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

guest

回答1

0

自己解決

int(v_c)

で問題がなくなった

投稿2020/08/25 15:29

hataki7

総合スコア4

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問