![](/img/trans.png)
[英]ValueError: all the input arrays must have same number of dimensions
[英]scipy convert from matlab ,error: arrays must have same number of dimensions
我在MATLAB中有以下代碼:
ext = [lat(end, :); lat; lat(1, :)];
lat = [ext(:, end) ext ext(:, 1)];
我試圖在SciPy中做到這一點:
ext = sc.vstack([[lat[-1,:]], [lat], [lat[0,:]]])
lat = sc.vstack([[ext[:]], [ext], [ext[:,0]]])
但是它給了我錯誤:
ValueError:數組必須具有相同數量的維
和:
返回_nx.concatenate(map(atleast_2d,tup),0)->(在/ usr / lib / pymodules中...這是vstack函數的定義)
我要去哪里錯了?
您在ext
垂直堆疊,在lat
水平堆疊。
嘗試:
ext = sc.vstack([lat[-1,:], lat, lat[0,:]])
lat = sc.hstack([ext[:,-1], ext, ext[:,0]])
編輯:
上面的代碼僅在lat
最初是矩陣而不是數組的情況下才有效。 如果不是這種情況,則可以通過lat = sc.matrix(lat)
進行轉換。 還要注意,我消除了hstack
和vstack
參數中的多余方括號。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.