String 矩阵不能保存在MATLAB中

String 矩阵不能保存在MATLAB中,string,matlab,matrix,save,String,Matlab,Matrix,Save,我想将两个字符串保存到一个矩阵中,但收到以下错误: 使用“保存”时出错无法创建“LayersProperties.mat”,因为“Layers” 属性“”不存在 层(第29行)保存时出错('Layers Properties\LayersProperties.mat“,”LayersList“,”TabList“) 这是我的密码: clear all clc % CREATE THE LIST OF DIFFERENT LAYERS LayersList = { 'Name'

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

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

层(第29行)保存时出错('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')

遇到此类问题时,请尝试检查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')
编辑:如新图像所示,如果您已经在图层属性文件夹中,则只需执行以下操作:

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

遇到此类问题时,请尝试检查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')
编辑:如新图像所示,如果您已经在图层属性文件夹中,则只需执行以下操作:

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

我试过了,但没有成功。事实上,由于我在工作文件夹中,这应该不是问题。请尝试将文件夹名称中的空格替换为低于分数的
Layers\u Properties
(通常值得一试)@Hamed如果您在文件夹
testfolder
中工作,则无法另存为
保存('testfolder/something.mat')
,这不是它的工作方式。您只需
保存('something.mat')
。如果您想在正在使用的文件夹中创建一个文件夹,则需要
保存('./subfolder/something.mat')
。请阅读有关文件夹路径如何工作的文档。我尝试过,但没有成功。事实上,由于我在工作文件夹中,这应该不是问题。请尝试将文件夹名称中的空格替换为低于分数的
Layers\u Properties
(通常值得一试)@Hamed如果您在文件夹
testfolder
中工作,则无法另存为
保存('testfolder/something.mat')
,这不是它的工作方式。您只需
保存('something.mat')
。如果您想在正在使用的文件夹中创建一个文件夹,则需要
保存('./subfolder/something.mat')
。请阅读有关文件夹路径如何工作的文档。