How to change the value of a double variable in a .mat file
2 次查看(过去 30 天)
显示 更早的评论
Hi! In have a mat file which has 3 main variables a1, a2, and a3. At the time, each of the 3 has 10 variables in it from b1 to b10
example:
a1.b1, a1.b2, ..... , a1.b10
a2.b1, a2.b2, ..... , a2.b10
a3.b1, a3.b2, ..... , a3.b10
I want to change the value of a1.b1 from 0 to 1
but the problem is that I can't use the code
save('sample.mat','a1.b1','-append')
I can't use save('sample.mat','a1','-append') because the variables a1.b2 to a1.b10 will be lost. Is there a code which can make me do this kind of thing?
0 个评论
采纳的回答
Azzi Abdelmalek
2014-3-26
编辑:Azzi Abdelmalek
2014-3-26
If your file is not big, just load your data, modify them, then save again your data
%Look at this example
a.b1=1;
a.b2=2;
c.b1=1;
c.b2=20;
save fic a c
clear
data=load('fic','a')
a=data.a;
a.b1=0;
save('fic','a','-append')
3 个评论
更多回答(1 个)
Joseph Cheng
2014-3-26
编辑:Joseph Cheng
2014-3-26
From the documentation '-append' adds a new variable to the mat file, so I do not think it will append to an existing struct.
Have you tried save('sample.mat','a1','-append') and rewrite all a1? by doing something like this?
load('sample.mat','a1'); %load in just a1 variable
a1.b1=1;
save('sample.mat','a1','-append')
3 个评论
Joseph Cheng
2014-3-26
编辑:Joseph Cheng
2014-3-26
Yes so i suggest loading just a1, swap a1.b1 and save by appending a1. You will not be able to adjust a1.b1 without loading in a1.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Workspace Variables and MAT-Files 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!