矩阵无法保存在 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 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章