質問編集履歴
4
文法の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -154,7 +154,8 @@
|
|
154
154
|
|
155
155
|
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
|
156
156
|
```
|
157
|
-
|
157
|
+
解決後の後学勉強のため
|
158
|
+
np.vectorizeを使ってみる (np.vectorize(A)(v/v_c)だとうまく計算された)(np.vectorize(A(v/v_c))だとエラーになる
|
158
159
|
```
|
159
160
|
return (np.sqrt(3)*Q**3*B*sin_pa/(m*c**2))*np.vectorize(A(v/v_c))
|
160
161
|
```
|
3
文法の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -155,6 +155,30 @@
|
|
155
155
|
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
|
156
156
|
```
|
157
157
|
|
158
|
+
```
|
159
|
+
return (np.sqrt(3)*Q**3*B*sin_pa/(m*c**2))*np.vectorize(A(v/v_c))
|
160
|
+
```
|
161
|
+
|
162
|
+
```
|
163
|
+
---------------------------------------------------------------------------
|
164
|
+
TypeError Traceback (most recent call last)
|
165
|
+
<ipython-input-56-8cbe0f1e7b70> in <module>
|
166
|
+
57 y=np.zeros(N)
|
167
|
+
58 for l in range(N):
|
168
|
+
---> 59 y[l]=P(v[l])
|
169
|
+
60 def P2(v):
|
170
|
+
61 return P(v)*ndgdb
|
171
|
+
|
172
|
+
<ipython-input-56-8cbe0f1e7b70> in P(v)
|
173
|
+
54 v_c=3*g**2*Q*B*sin_pa/(2*m*c*(2*np.pi))
|
174
|
+
55 def P(v):
|
175
|
+
---> 56 return (np.sqrt(3)*Q**3*B*sin_pa/(m*c**2))*np.vectorize(A(v/v_c))
|
176
|
+
57 y=np.zeros(N)
|
177
|
+
58 for l in range(N):
|
178
|
+
|
179
|
+
TypeError: unsupported operand type(s) for *: 'float' and 'vectorize'
|
180
|
+
```
|
181
|
+
|
158
182
|
|
159
183
|
|
160
184
|
### 補足情報(FW/ツールのバージョンなど)
|
2
文法の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -113,6 +113,49 @@
|
|
113
113
|
### 試したこと
|
114
114
|
|
115
115
|
調べて、模索中
|
116
|
+
for文で逐次処理対応させられたら大丈夫かと思ったが同じようにエラーが出てしまう
|
117
|
+
```
|
118
|
+
import itertools
|
119
|
+
#### j k l ###
|
120
|
+
|
121
|
+
p=2
|
122
|
+
q=3
|
123
|
+
N=(15-0)*10
|
124
|
+
v=np.logspace(0,15,N)
|
125
|
+
s = 0
|
126
|
+
for j in range(0,4):
|
127
|
+
for k in range(0,4):
|
128
|
+
g=10**(0.1*j)
|
129
|
+
B=10**(0.1*k)
|
130
|
+
ndgdb=(g**(-p))*(B**(-q))*((10**(0.1*(j+1)))-(10**(0.1*j)))*((10**(0.1*(k+1)))-(10**(0.1*k)))
|
131
|
+
v_c=3*g**2*Q*B*sin_pa/(2*m*c*(2*np.pi))
|
132
|
+
CC=v/v_c
|
133
|
+
Z=np.zeros(N)
|
134
|
+
for mm in range(N):
|
135
|
+
Z[mm]=A(CC[mm])
|
136
|
+
np.savetxt("{}/A_C_{}_{}_g^-{}B^-{}_g10^0-4_B10^0-4.txt".format(date,j,k,p,q),A(CC))
|
137
|
+
```
|
138
|
+
```
|
139
|
+
---------------------------------------------------------------------------
|
140
|
+
ValueError Traceback (most recent call last)
|
141
|
+
<ipython-input-48-4af7f2999ddc> in <module>
|
142
|
+
17 for mm in range(N):
|
143
|
+
18 Z[mm]=A(CC[mm])
|
144
|
+
---> 19 np.savetxt("{}/A_C_{}_{}_g^-{}B^-{}_g10^0-4_B10^0-4.txt".format(date,j,k,p,q),A(CC))
|
145
|
+
20
|
146
|
+
21
|
147
|
+
|
148
|
+
<ipython-input-36-a26b605d64ec> in A(x)
|
149
|
+
1 def A(x):
|
150
|
+
----> 2 if x <= 5.0*1e-3:
|
151
|
+
3 return G(x)
|
152
|
+
4 elif 5.0*1e-3 < x < 30:
|
153
|
+
5 return F(x)
|
154
|
+
|
155
|
+
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
|
156
|
+
```
|
157
|
+
|
158
|
+
|
116
159
|
|
117
160
|
### 補足情報(FW/ツールのバージョンなど)
|
118
161
|
|
1
文法の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,7 +4,8 @@
|
|
4
4
|
|
5
5
|
### 前提
|
6
6
|
|
7
|
+
x=v/v_c の値で条件によりA(v/v_c)の関数が(F、G、H)変更するようにしたいけど配列をそのまま渡してしまうからany(),all()って聞かれてしまう。
|
7
|
-
|
8
|
+
A(x)=(G,G,G,G,F,F,F,F,F,H,H,H,H)みたく条件で変化する関数を作りたい
|
8
9
|
|
9
10
|
### 発生している問題・エラーメッセージ
|
10
11
|
|
@@ -115,6 +116,5 @@
|
|
115
116
|
|
116
117
|
### 補足情報(FW/ツールのバージョンなど)
|
117
118
|
|
118
|
-
|
119
|
+
windows 11
|
119
|
-
|
120
|
+
jupyter notebook
|
120
|
-
|