我看this交因爲我想其中每列是一個x
矢量arange
d由dx
與相應dx
,創建一個數組分別。希望這是有道理的。蟒:形成陣列是人氣指數
import numpy as np
L = 80.0
N = 2 ** np.arange(-4, 10, dtype = np.float64)
dx = L/N
用我的原代碼,我是在看一個dx
那裏我現在有dx
值的數組。 當我只能用一個dx
,我建立了我的X向量,如下所示:
x = np.arange(-L/2., L/2. - dx, dx)
但是,我需要爲每個dx
的x
,但我不知道如何做到這一點。我看了一下我在開頭提到的那篇文章,我認爲它提供了一些見解。我似乎無法根據我的需求來調整它 - 也許這不是正確的方法。
也許我需要一個for
循環?
for i in len(dx):
x[i] = np.arange(-L/2., L/2. - dx, dx)
然後我可能會需要巢另一個for
循環來挑選每個迭代一個dx
。
我不確定什麼是正確的方法或最有效的。
爲了澄清混亂,在一個dx
的情況下,我具有下列設置:
x = np.arange(-L/2.0, L/2.0 - dx, dx)
k = np.hstack((np.arange(0, N/2.0 - 1.0),
np.arange(-N/2.0, 0))).T * 2.0 * np.pi/L
k1 = 1j * k
k3 = (1j * k) ** 3
u = 2 * (2/(np.exp(x + 20.0) + np.exp(-x - 20.0))) ** 2
udata = u
tdata = 0.0
Integration here
我然後跑與龍格庫塔4集成到數值僞光譜法確定的u
非線性KdV方程。我想在不同的dx
值上運行代碼,以便我可以找到該錯誤並繪製1/dx
與1/dx
在x軸上的錯誤。
我希望這可以幫助我試圖完成。
因爲我想找到錯誤,我需要相同的步長嗎?我知道錯誤將以exp(-c * dx)
的形式繪製,其中c
是一個任意常量。我知道這是因爲僞譜法有錯誤exp(-c/dx)
,但我將繪製1/dx
。
我不知道如何回答你的問題,但安排/ arange故意不同的拼寫?我在文中看到了兩個,但是我對Python的編輯知之甚少(如果它甚至需要它的話) – Gray
我不完全確定你在問什麼,你是否想要一個NxM數組,其中每列都是一個不同的'arange'? – bheklilr
是的,我也不太明白這個問題。如果是@bheklilr建議的,那麼你可以使用廣播來做一些事情,比如'np.arange(-2,2)[...,None] + np.arange(3)[None,...]' – YXD