我发现以前由某人发布的以下MATLAB代码:
x = cell(3,4);
save x;
matObj = matfile('x.mat','writable',true);
matObj.x(3,4) = {eye(10)};
它创建一个.mat文件,其中包含3x4单元格数组,位于(3,4)的单元格内容为10x10单位矩阵。
读取.mat文件并将身份矩阵中位于(2,3)的元素的值更改为-5?
的语法是什么?如果可以使用花括号,我会将其作为mat.Obj.x {3,4}(2,3)= - 5,但MATLAB表示不支持这种类型的单元数组引用。
提前致谢。
答案 0 :(得分:0)
据我所知,matlab中没有办法像你想要的那样引用matlab.io.MatFile
个对象。更简单的方法就是创建一个临时变量来完成它。
因此,试图这样做:
matObj.x(3,4) = {eye(10)};
matObj.x{3,4}(2,3)=-5; % this will lead to error, as you noticed
这样做:
tmpVar = eye(10);
tmpVar(2,3) = -5;
matObj.x(3,4) = {tmpVar};