How to change the value of a double variable in a .mat file
1 回表示 (過去 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!