首页 文章

使用八度音程加载在Matlab中创建的ASCII格式.mat文件

提问于
浏览
4

由于我没有使用许可证,我使用Matlab和Octave,只要我保持简单,我就没有遇到任何麻烦 .

我最近开始使用.mat文件来减少单个文件的数量 .

当我在Matlab中做所有事情时它工作得很好但是当我在Octave中使用'save'时它将文件保存为ASCII,它在开头看起来有点像这样,并且有多个矩阵,因此有多个 Headers .

# Created by Octave 3.6.4, Mon Feb 24 21:34:39 2014 CET <***@****>
# name: C
# type: matrix
# rows: 10000
# columns: 10
 79 79 79 79 79 79 79 79 79 79
 74 115 87 55 101 46 83 92 113 61
 69 142 128 48 160 45 87 113 114 71
 84 107 145 62 245 78 69 88 149 78
 120 73 148 32 299 114 57 79 137 76

这很好,但Matlab拒绝读取文件 . 既没有'load'和'-ASCII'也没有importdata . (警告:文件包含无法解释的数据....)

有什么我能做的吗? Octave使用'load'加载文件就好了 .

谢谢!!

1 回答

  • 1

    在Octave中保存为“-ascii”或matlab二进制格式v4,v6,v7

    octave:1> a = rand(3, 3)
    a =
       0.086093   0.541999   0.889222
       0.029643   0.633532   0.762954
       0.544787   0.150573   0.927285
    octave:2> save ("-ascii", "yourfile.asc")
    octave:3> save ("-v7", "yourfile.mat")
    

    回到matlab做

    >> b = load ('yourfile.asc')
    
    b =
    
        0.0861    0.5420    0.8892
        0.0296    0.6335    0.7630
        0.5448    0.1506    0.9273
    

    要么

    >> load ('yourfile.mat')
    >> a
    
    a =
    
        0.0861    0.5420    0.8892
        0.0296    0.6335    0.7630
        0.5448    0.1506    0.9273
    

相关问题