0
からsurf3dプロットしようとすると、私は、Pythonに新たなんだと私は2次元配列から3Dサーフェスを作成しようとしているが、それは、私はエラーを得たことが表示されます:ここで2D配列
ValueError: shape mismatch: objects cannot be broadcast to a single shape
は私がいっぱいですコード
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
import matplotlib.pyplot as plt
from matplotlib.ticker import LinearLocator, FormatStrFormatter
def fourier(delX,delT):
xMax = 10
tMax = 12
m = int(xMax/delX)
n = int(tMax/delT)
l = 0.020875
t = 0.0
Matrix =[[0 for x in range(m+1)]for y in range(n+1)]
for x in range(n+1):
Matrix[x][0] = 100
Matrix[x][5] = 50
for x in range(n):
Matrix[x+1][1] = Matrix[x][1]+l*(Matrix[x][2]-2*Matrix[x][1]+Matrix[x][0])
Matrix[x+1][2] = Matrix[x][2]+l*(Matrix[x][3]-2*Matrix[x][2]+Matrix[x][1])
Matrix[x+1][3] = Matrix[x][3]+l*(Matrix[x][4]-2*Matrix[x][3]+Matrix[x][2])
Matrix[x+1][4] = Matrix[x][4]+l*(Matrix[x][5]-2*Matrix[x][4]+Matrix[x][3])
X = np.arange(0,xMax+0.1,delX)
Y = np.arange(0,tMax+0.1,delT)
fig = plt.figure()
ax = fig.gca(projection='3d')
surf = ax.plot_surface(X,Y,Matrix,cmap=cm.coolwarm,linewidth=0,antialiased=False)
ax.set_zlim(0,101)
ax.zaxis.set_major_locator(LinearLocator(10))
ax.zaxis.set_major_formatter(FormatStrFormatter('%.02f'))
fig.colorbar(surf, shrink=0.5, aspect=5)
plt.show()
形状がどのように不一致になり、エラーを解決するには?
うわー!ありがとう!より多くの試合のメッシュグリッドを今すぐ学ぶべきである –
私の答えが役に立ったら、正しいものとしてマークしてください – eyllanesc