您的位置:首页 > 编程语言 > MATLAB

matlab函数使用说明之——load函数

2017-05-22 15:31 316 查看
matlab中的save与load函数用save函数,可以将工作空间的变量保存成txt文件或mat文件等。用load函数,可以将数据读入到matlab的工作空间中。比如:

[plain] view
plain copy

load peng.mat  

就是将peng.mat中的所有变量读入matlab工作空间中,当然我们也可以选择读入哪个变量,具体见帮助文件。还有一个问题是在mat文件中保存一个变量,默认读入matlab中后,还是保存时用的名字,但是,想用一个新名字代替,怎么办?具体用程序描述如下:

[plain] view
plain copy

save peng.mat p  

那么load peng.mat之后,就可以在工作空间中看到p变量了。可是,如果用load读入之后,我不想用变量名p了,怎么办。具体解决办法:

[plain] view
plain copy

s=load('peng.mat');  

sc=struct2cell(s);  

t=cell2mat(sc);  

那么,读入的struct类型变量就被转换成cell类型数据,然后再转换为double类型的数据。

[plain] view
plain copy

save  XXX;  

是将当前文件中的全部变量存起来,得到一个名为XXX.mat的文件。如果只想保存当前文件中的某个或某几个变量,则用:

[plain] view
plain copy

save('filename','var1','var2',...);  

由于通常当前文件中只有很少几个结论性的变量需要保存,所以为了清晰,不妨一个变量保存一个.mat文件,并且文件名就用变量名,如:

[plain] view
plain copy

save('var1.mat',var1);  

save('var2.mat',var2);  

用load('XXX.mat');可以将以前已保存的XXX.mat文件加载到当前文件中,并使用其中的变量。但可能存在如下问题:如果XXX.mat中有与当前文件中同名的变量var,那么载入的变量将覆盖原有变量。解决办法是,用

[plain] view
plain copy

XXX_ld=load('XXX.mat');  

取代上面语句,这样就只引入一个XXXld结构体。而XXX.mat中保存的所有变量都作为XXXld的属性,因此不会发生覆盖。于是,可以用XXX_ld.var来使用变量var,或者为其改名:

[plain] view
plain copy

var2=XXX_ld.var;  

尽管这样增加了一次拷贝,但换来了安全性。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  工作 数据 matlab