第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在 python 中繪制插值曲面

在 python 中繪制插值曲面

一只甜甜圈 2023-04-25 15:44:27
我有一個(gè) 4x4 矩陣 ( test4x4),我想將它插值到一個(gè) 8x8 矩陣 ( test8x8)。我用于interpolate.interp2d插值,但是當(dāng)我繪制它(test8x8)時(shí),它看起來不像是test4x4繪圖。我哪里弄錯(cuò)了?import numpy as npfrom scipy import interpolateimport matplotlib.pyplot as pltfrom mpl_toolkits.mplot3d import Axes3Dmymin,mymax = 0,3X = np.linspace(mymin,mymax,4)Y = np.linspace(mymin,mymax,4)x,y = np.meshgrid(X,Y)test4x4 = np.array([[ 1.2514318 ,  1.25145821,  1.25148472,  1.25151133],   [ 1.25087456,  1.25090105,  1.25092764,  1.25095435],   [ 1.25031581,  1.25034238,  1.25036907,  1.25039586],   [ 1.24975557,  1.24978222,  1.24980898,  1.24983587]])f = interpolate.interp2d(x,y,test4x4,kind='cubic')# use linspace so your new range also goes from 0 to 3, with 8 intervalsXnew = np.linspace(mymin,mymax,8)Ynew = np.linspace(mymin,mymax,8)test8x8 = f(Xnew,Ynew)print('test8x8=',test8x8)plot1=plt.figure(1)plt.title('test 4X4')fig1 = plt.figure(1)ax1 = fig1.gca(projection='3d')ax1.plot_surface(x.T,y.T, test4x4, alpha = 1, rstride=1, cstride=1, linewidth=0.5, antialiased=True, zorder = 0.5)plt.xlabel('x')plt.ylabel('y')plt.grid()ax1.plot_surface(Xnew.T, Ynew.T, test8x8, alpha = 1, rstride=1, cstride=1, linewidth=0.5, antialiased=True, zorder = 0.5)plt.grid()plt.show()我想我可以解決這個(gè)問題,我應(yīng)該使用x1,y1 = np.meshgrid(Xnew,Ynew).
查看完整描述

1 回答

?
慕斯王

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超2個(gè)贊

對(duì)于 8x8,您還需要一個(gè)網(wǎng)格:


...

Xnew = np.linspace(mymin,mymax,8)

Ynew = np.linspace(mymin,mymax,8)

xx, yy = np.meshgrid(Xnew, Ynew)  #You need this

并使用這個(gè) meshgrid 來繪制


ax1.plot_surface(xx.T, yy.T, test8x8, alpha=0.5, rstride=1, cstride=1, \

                   linewidth=0.5, antialiased=True, zorder = 10)

alpha=0.5在兩者中使用plot_surface(),以便您可以看到兩個(gè)表面。


要更清楚地分離 2 個(gè)表面,您可以嘗試第二個(gè).plot_surface()作為


ax1.plot_surface(xx.T, yy.T, 0.0001+test8x8, alpha=0.5, rstride=1, cstride=1, \

                   linewidth=0.5, antialiased=True, zorder = 10)

值 0.0001 使第二個(gè)表面更高(在 z 方向)。


查看完整回答
反對(duì) 回復(fù) 2023-04-25
  • 1 回答
  • 0 關(guān)注
  • 143 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)