矩阵无法保存在 MATLAB [关闭]

Posted

技术标签:

【中文标题】矩阵无法保存在 MATLAB [关闭]【英文标题】:Matrix cannot be saved in MATLAB [closed] 【发布时间】:2019-10-01 12:27:32 【问题描述】:

我想将两个字符串保存到一个矩阵中,但收到以下错误:

使用保存出错无法创建“LayersProperties.mat”,因为“Layers” 属性'不存在。

层错误(第 29 行) save('Layers Properties\LayersProperties.mat', 'LayersList', 'TabList')

这是我的代码:

 clear all
clc

% CREATE THE LIST OF DIFFERENT LAYERS
LayersList = 
    'Name'                  'k [W/m/K]'     'D [mm]'        'e [-]'        'Color R'   'Color G'  'Color B'

    'Glass 3.0'             1.00            3.000           0.92           0.6          0.8         1
    'EVA DuPont Elvax'      0.23            0.2500           0.00           0.8          1           1
    'Solar Cell'            180.00          0.180           0.00           0            0.45        0.74
    'Bcksht DuPont 0.10'    0.36            0.100           0.90           1            1           1

    'Bcksht DuPont 0.20'    0.36            0.200           0.90           1            1           1
    'Bcksht DuPont 0.30'    0.36            0.300           0.90           1            1           1
    'Bcksht DuPont 0.40'    0.36            0.400           0.90           1            1           1
    'Bcksht DuPont 0.50'    0.36            0.500           0.90           1            1           1
    'Bcksht DuPont 0.60'    0.36            0.600           0.90           1            1           1

    'PVB Saflex PA41'       0.19            0.760           0.00           0.8          1           1
    'Si rub. ELASTOSIL'     1.30            0.450           0.00           0.8          1           1
    'POE-based ENGAGE'      0.29            0.450           0.00           0.8          1           1

    ;

TabList = 
    'Name'         'rho_tab [Ohm m]'  'T_R_coeff [1/�C]'  'k [W/m/K]' 
    'Copper'       1.53E-08            3.90E-03            50                   
    ;
save('Layers Properties\LayersProperties.mat', 'LayersList', 'TabList')

【问题讨论】:

【参考方案1】:

遇到此类问题时,请尝试检查 Matlab 是否发现该文件夹确实存在:

isfolder('Layers Properties')

我猜它会返回 false。然后,为了安全起见,最好使用绝对路径并让您编写脚本以确保 Matlab 在正确的位置运行:

disp(cd()) % shows your current directory

cd(fileparts(mfilename(fullpath))) % goes to the folder where the running script is located

fullfile(cd(), 'Layers Properties') % builds the absolute path to the Layers Properties folder.

这可能会解决您的问题:

save(fullfile(cd(), 'Layers Properties', 'LayersProperties.mat'), 'LayersList', 'TabList')

编辑:如果如新图像所示,您已经在 Layers Properties 文件夹中,那么您只需执行以下操作:

save('LayersProperties.mat', 'LayersList', 'TabList')

【讨论】:

我试过但没有用。实际上,由于我在工作文件夹中,所以应该不是问题。 尝试将文件夹名称中的空格替换为低分 Layers_Properties(通常值得一试) @Hamed 如果您在文件夹testfolder 中工作,则不能另存为save('testfolder/something.mat'),它不是这样工作的。你只需要save('something.mat')。如果您想在您正在使用的文件夹中创建一个文件夹,那么您需要save('./subfolder/something.mat')。请阅读有关文件夹路径如何工作的文档。

以上是关于矩阵无法保存在 MATLAB [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

无法在 Matlab 中保存非常大的矩阵

在 Matlab 中将 4D 矩阵保存到具有高精度 (%1.40f) 的文件中

matlab 多个矩阵保存问题

在 MATLAB 中将数据保存到 .mat 文件

在 MatLab 中保存矩阵

matlab中如何将多个矩阵保存到同一个矩阵中?