matlab、python中矩阵的互相导入导出方式

还有一种最流行的h5py.. 过几天更新

------------在python中导出矩阵至matlab------------

如果矩阵是mxn维的。 那么可以用 :

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

对应matlab读取为:

dev_ivec = csvread('dev_ivector.csv') ###csv格式其实就内定了结构体

如果矩阵是(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()

对应matlab读取为:

spk_mean_label = importdata('label')

第二种方法。 例如

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

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

在matlab中只需要

load 'filename';

就导入了a矩阵和b矩阵

python存储矩阵

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

------------在matlab中导出矩阵至python------------

matlab里面得到矩阵后可以直接从工作区变量处保存为.mat文件。

然后在python中执行下面步骤

import scipy.io as sio

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

然后blscores就是矩阵了。

第二种方法。

假如有俩个矩阵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']

补充知识:python如何输出矩阵的行数与列数?

对于pyhton里面所导入或者定义的矩阵或者表格数据,想要获得矩阵的行数和列数有以下方法:

1、利用shape函数输出矩阵的行和列

x.shape函数可以输出一个元组(m,n),其中元组的第一个数m表示矩阵的行数,元组的第二个数n为矩阵的列数

具体代码如下:

import numpy as np
x = np.array([[1,2,5],[2,3,5],[3,4,5],[2,3,6]])
# 输出数组的行和列数
print(x.shape) # (4, 3)
# 只输出行数
print(x.shape[0]) # 4
# 只输出列数
print (x.shape[1]) # 3

2、对于矩阵的行数,也可以使len(x)函数输出的矩阵长度,也就是所谓的行数。

import numpy as np
x = np.array([[1,2,5],[2,3,5],[3,4,5],[2,3,6]])
# 输出数组的行数
print(len(x)) #4

3、使用x.ndim函数可以输出矩阵维数,即列数

import numpy as np
x = np.array([[1,2,5],[2,3,5],[3,4,5],[2,3,6]])
# 输出数组的行数
print(x.ndim) #3

以上这篇matlab、python中矩阵的互相导入导出方式就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • python 读取文件并把矩阵转成numpy的两种方法

    在当前目录下: 方法1: file = open('filename') a =file.read() b =a.split('\n')#使用换行 len(b) #统计有多少行 for i in range(len(b)): b[i] = b[i].split()#使用空格分开 len(b[0])#可以查看第一行有多少列. B[0][311]#可以查看具体某行某列的数 import numpy as np b = np.array(b)#转成numpy形的 type(b) # 输出<输出clas

  • python实现矩阵和array数组之间的转换

    前言: array数组要转换成矩阵(matrix)数据类型才能进行一系列的线性运算.matrix类型也有时候要转换成array数组. 代码: 1.array转matrix:用mat() a = arange(3*2).reshape(3,2) print('array类型:') print(type(a)) print(a) b = mat(a) print('matrix类型:') print(type(b)) print(b) 输出: array类型: <class 'numpy.ndarr

  • python+numpy实现的基本矩阵操作示例

    本文实例讲述了python+numpy实现的基本矩阵操作.分享给大家供大家参考,具体如下: #! usr/bin/env python # coding: utf-8 # 学习numpy中矩阵的代码笔记 # 2018年05月29日15:43:40 # 参考网站:http://cs231n.github.io/python-numpy-tutorial/ import numpy as np #==================矩阵的创建,增删查改,索引,运算==================

  • Python的numpy库中将矩阵转换为列表等函数的方法

    这篇文章主要介绍Python的numpy库中的一些函数,做备份,以便查找. (1)将矩阵转换为列表的函数:numpy.matrix.tolist() 返回list列表 Examples >>> >>> x = np.matrix(np.arange(12).reshape((3,4))); x matrix([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) >>> x.tolist() [[0, 1, 2

  • matlab、python中矩阵的互相导入导出方式

    还有一种最流行的h5py.. 过几天更新 ------------在python中导出矩阵至matlab------------ 如果矩阵是mxn维的. 那么可以用 : np.savetxt('dev_ivector.csv', dev_ivector, delimiter = ',') 对应matlab读取为: dev_ivec = csvread('dev_ivector.csv') ###csv格式其实就内定了结构体 如果矩阵是(n,)这种格式.['aagj' 'aagy' 'aann'

  • 详解AngularJS中module模块的导入导出

    AngularJS是一款来自Google的前端JS框架,它的核心特性有:MVC.双向数据绑定.指令和语义化标签.模块化工具.依赖注入.HTML模板,以及对常用工具的封装,例如$http.$cookies.$location等. 关于AngularJS中module的导入导出,在Bob告诉我之前还没写过,谢谢Bob在这方面的指导,给到我案例代码. 在AngularJS实际项目中,我们可能需要把针对某个领域的各个方面放在不同的module中,然后把各个module汇总到该领域的一个文件中,再由主mo

  • 对python中矩阵相加函数sum()的使用详解

    假如矩阵A是n*n的矩阵 A.sum()是计算矩阵A的每一个元素之和. A.sum(axis=0)是计算矩阵每一列元素相加之和. A.Sum(axis=1)是计算矩阵的每一行元素相加之和. 以上这篇对python中矩阵相加函数sum()的使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • 对Python 中矩阵或者数组相减的法则详解

    最近在做编程练习,发现有些结果的值与答案相差较大,通过分析比较得出结论,大概过程如下: 定义了一个计算损失的函数: def error(yhat,label): yhat = np.array(yhat) label = np.array(label) error_sum = ((yhat - label)**2).sum() return error_sum 主要出现问题的是 yhat - label 部分,要强调的是一定要保证两者维度是相同的!这点很重要,否则就会按照python的广播机制进

  • Python中矩阵创建和矩阵运算方法

    矩阵创建 1.from numpyimport *; a1=array([1,2,3]) a2=mat(a1) 矩阵与方块列表的区别如下: 2.data2=mat(ones((2,4))) 创建一个2*4的1矩阵,默认是浮点型的数据,如果需要时int类型,可以使用dtype=int 3.data5=mat(random.randint(2,8,size=(2,5)) 产生一个2-8之间的随机整数矩阵 4.data3=mat(random.rand(2,2)) 这里的random模块使用的是num

  • 基于Python中单例模式的几种实现方式及优化详解

    单例模式 单例模式(Singleton Pattern)是一种常用的软件设计模式,该模式的主要目的是确保某一个类只有一个实例存在.当你希望在整个系统中,某个类只能出现一个实例时,单例对象就能派上用场. 比如,某个服务器程序的配置信息存放在一个文件中,客户端通过一个 AppConfig 的类来读取配置文件的信息.如果在程序运行期间,有很多地方都需要使用配置文件的内容,也就是说,很多地方都需要创建 AppConfig 对象的实例,这就导致系统中存在多个 AppConfig 的实例对象,而这样会严重浪

  • Python中实现单例模式的n种方式和原理

    在Python中如何实现单例模式?这可以说是一个经典的Python面试题了.这回我们讲讲实现Python中实现单例模式的n种方式,和它的原理. 什么是单例模式 维基百科 中说: 单例模式,也叫单子模式,是一种常用的软件设计模式.在应用这个模式时,单例对象的类必须保证只有一个实例存在.许多时候整个系统只需要拥有一个的全局对象,这样有利于我们协调系统整体的行为.比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获

  • Django import export实现数据库导入导出方式

    使用django-import-export库,导入导出数据,支持csv.xls.json.html等格式 官网:http://django-import-export.readthedocs.io/en/latest/installation.html 1.安装django-import-export pip install django-import-export 2.配置settings.py INSTALLED_APPS = ( 'django.contrib.admin', 'djan

  • maven实现jar包导入+导出方式

    普通 jar 包的导出 1.点击 file 中的project.structor=>选择Artifacts=>+=>选择 jar+=>选择from modules with dependencies 2.如果你的 jar 包具有主函数main,即为可执行jar包则需要在下图所示处,输入主函数位置,点击右边文件夹,选择主函数即可 3.选择好后点击OK,切记下一步需要先应用在OK 4.导出成功后点击Builder=>build artifacts=>build/rebuil

  • Python中的异常类型及处理方式示例详解

    目录 前言 正文 一.什么是异常 二.异常的类型 三.异常处理 四.try 介绍 五.finally 介绍 六.raise 介绍 结尾 前言 Python 是一种面向对象的.解释型的.通用的.开源的脚本编程语言.现在市面上 Python 非常的流行,主要是因为它简单易用,学习成本低,比如要实现某个功能,Python 可能只需要几行代码,而用C语言可能需要上百行代码,因为C语言什么都要得从头开始编码,而 Python 已经内置了很多功能模块,所以,我们只需要导入特定的包,就可以实现想要的效果. 正

随机推荐