溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

matlab、python中如何實(shí)現(xiàn)矩陣的互相導(dǎo)入導(dǎo)出

發(fā)布時(shí)間:2020-07-20 10:45:48 來(lái)源:億速云 閱讀:277 作者:小豬 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要講解了matlab、python中如何實(shí)現(xiàn)矩陣的互相導(dǎo)入導(dǎo)出,內(nèi)容清晰明了,對(duì)此有興趣的小伙伴可以學(xué)習(xí)一下,相信大家閱讀完之后會(huì)有幫助。

還有一種最流行的h6py.. 過(guò)幾天更新

------------在python中導(dǎo)出矩陣至matlab------------

如果矩陣是mxn維的。 那么可以用 :

np.savetxt('dev_ivector.csv', dev_ivector, delimiter = ',')

對(duì)應(yīng)matlab讀取為:

dev_ivec = csvread('dev_ivector.csv') ###csv格式其實(shí)就內(nèi)定了結(jié)構(gòu)體

如果矩陣是(n,)這種格式。['aagj' 'aagy' 'aann' ... 'zzgm' 'zzhk' 'zzwn'] 類似這種。那么可以用

f = open('label','w')
for x in spk_mean_label:
  print(x)
  print(x,file=f)
f.close()

對(duì)應(yīng)matlab讀取為:

spk_mean_label = importdata('label')

第二種方法。 例如

import scipy.io
scipy.io.savemat('filename',

  mdict={ 'a':a,
  'b':b})

在matlab中只需要

load 'filename';

就導(dǎo)入了a矩陣和b矩陣

python存儲(chǔ)矩陣

import pandas as pd
df = pd.DataFrame(a)
df.to_csv("score",sep=" ",index = False)

------------在matlab中導(dǎo)出矩陣至python------------

matlab里面得到矩陣后可以直接從工作區(qū)變量處保存為.mat文件。

然后在python中執(zhí)行下面步驟

import scipy.io as sio

load_fn = 'plda_bl_score.mat'
load_data = sio.loadmat(load_fn)
blscores= load_data['PLDA_bl_scores']

然后blscores就是矩陣了。

第二種方法。

假如有倆個(gè)矩陣score,score1

save('score.mat','score','score1')

在python中

import scipy.io
matlab_data = scipy.io.loadmat('score.mat')
score = matlab_data['score']
score1 = matlab_data['score1']

補(bǔ)充知識(shí):python如何輸出矩陣的行數(shù)與列數(shù)?

對(duì)于pyhton里面所導(dǎo)入或者定義的矩陣或者表格數(shù)據(jù),想要獲得矩陣的行數(shù)和列數(shù)有以下方法:

1、利用shape函數(shù)輸出矩陣的行和列

x.shape函數(shù)可以輸出一個(gè)元組(m,n),其中元組的第一個(gè)數(shù)m表示矩陣的行數(shù),元組的第二個(gè)數(shù)n為矩陣的列數(shù)

具體代碼如下:

import numpy as np
x = np.array([[1,2,5],[2,3,5],[3,4,5],[2,3,6]])
# 輸出數(shù)組的行和列數(shù)
print(x.shape) # (4, 3)
# 只輸出行數(shù)
print(x.shape[0]) # 4
# 只輸出列數(shù)
print (x.shape[1]) # 3

2、對(duì)于矩陣的行數(shù),也可以使len(x)函數(shù)輸出的矩陣長(zhǎng)度,也就是所謂的行數(shù)。

import numpy as np
x = np.array([[1,2,5],[2,3,5],[3,4,5],[2,3,6]])
# 輸出數(shù)組的行數(shù)
print(len(x)) #4

3、使用x.ndim函數(shù)可以輸出矩陣維數(shù),即列數(shù)

import numpy as np
x = np.array([[1,2,5],[2,3,5],[3,4,5],[2,3,6]])
# 輸出數(shù)組的行數(shù)
print(x.ndim) #3

看完上述內(nèi)容,是不是對(duì)matlab、python中如何實(shí)現(xiàn)矩陣的互相導(dǎo)入導(dǎo)出有進(jìn)一步的了解,如果還想學(xué)習(xí)更多內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI