句法有以下几种
load('filename')
load('filename', 'X', 'Y', 'Z')
load('filename', '-regexp', exprlist)
load('-mat', 'filename')
load('-ascii', 'filename')
S = load()
load filename -regexp expr1 expr2
举例:
Example 1 -- Loading From a Binary MAT-fileTo see what is in the MAT-file prior to loading it, use whos -file: whos -file mydatamat
Name Size Bytes Class
javArray 10x1 javalangDouble[][]
spArray 5x5 84 double array (sparse)
strArray 2x5 678 cell array
x 3x2x2 96 double array
y 4x5 1230 cell array
Clear the workspace and load it from MAT-file mydatamat: clear
load mydata
whos
Name Size Bytes Class
javArray 10x1 javalangDouble[][]
spArray 5x5 84 double array (sparse)
strArray 2x5 678 cell array
x 3x2x2 96 double array
y 4x5 1230 cell array
Example 2 -- Loading From an ASCII File Create several 4-columnn matrices and save them to an ASCII file: a = magic(4); b = ones(2, 4) -57; c = [8 6 4 2];
save -ascii mydatadat
Clear the workspace and load it from the file mydatadat If the filename has an extension other than mat, MATLAB assumes that it is ASCII: clear
load mydatadat
MATLAB loads all data from the ASCII file, merges it into a single matrix, and assigns the matrix to a variable named after the filename: mydata
mydata =
160000 20000 30000 130000
50000 110000 100000 80000
90000 70000 60000 120000
40000 140000 150000 10000
-57000 -57000 -57000 -57000
-57000 -57000 -57000 -57000
80000 60000 40000 20000
Example 3 -- Using Regular ExpressionsUsing regular expressions, load from MAT-file mydatamat those variables with names that begin with Mon, Tue, or Wed: load('mydata', '-regexp', '^Mon|^Tue|^Wed');
Here is another way of doing the same thing In this case, there are three separate expression arguments: load('mydata', '-regexp', '^Mon', '^Tue', '^Wed');不太清楚你的“每次读取81维与另一个81维的数据计算欧氏距离”怎么理解。
如果是这么理解的,第一组与第二组做计算,第二组与第三组做计算……
程序可以这么写:假设18100维的矩阵为A,结果存在ans矩阵中
ans=zeros(1,99);
for i=1:99
a=A(81(i-1)+1:81i);
b=A(81i+1:81(i+1));
c=(a-b)^2;
ans(i)=sqrt(sum(c(:)));
end多个mat文件只能一个一个load。
假设经度的变量是lon,纬度的变量是lat:
[r1,c1]=find(lon>a
&
lon<b);
[r2,c2]=find(lat>c
&
lat<d);
count=[];
for
i=1:length(r1)
for
j=1:length(r2)
if
r1(i)==r2(j)
count=[count;r1(i)];
end
end
end
count就是A和B行数相同的行了1、生成MAT文件
假如你的矩阵A、B都已赋值,现在需要将A、B矩阵保存成mat格式文件,执行如下命令:save matfile1 A B 就会把A B矩阵数据保存在matfile1mat文件中了
eg:>>A=[1 2];
>>B =[3 4];
>>save matfile1 A B; %回车即可将A B保存在matfile1mat文件中了。
如果想要单独保存一个数据,例如A,输入以下指令即可:
>> save matfile2 A;
2、保存所有数据为MAT文件
如果有多个矩阵,我们需要将其全部保存,如果数据量很大,就不一一写下保存了,否则会很麻烦,我们直接用下面命令便可:
save mydata3 %保存以上所有数据
这样就会把当前运行空间所有的变量都保存到mydata3mat文件中了
3、读取mat文件数据
首先是将你想打开的mat文件所在的目录设置为当前工作目录,然后执行如下命令:load mydata,就会将mydata中的所有数据加载到当前工作环境中;
eg:>>load matfile %这样读取的是mat文件中所有的数据
如果想要仅仅读取mat文件中某些特定的数据,那么可以单独调用:load matfile 。
eg: >>load matfile A %这样,A就会被加载到当前工作环境中,而其他的B、C、D都不会被加载。
4、如何设置工作路径
所谓工作路径就是matlab运行时的工作目录,matlab包含很多工具箱,用户在使用时也会产生很多文件,工作路径就是matlab使用这些工具,函数,文件的途径。
41、查看搜索路径:path
在命令窗口中输入path,就能查看matlab的搜索路径(比如,输入一条代码,程序会在这些目录中依次搜索是否为变量,是否为函数,M文件等)。
>> path
42、当前工作目录:cd
输入命令cd,可以查看当前工作目录。
>>cd
43、修改工作路径:userpath('F:\matlab\work')
路径可以自己定义。
>>userpath('F:\matlab\work')
44、保存路径修改:savepath
改完默认路径后需要保存一下。
>>savepath
45、也可以用工具 *** 作:pathtool
在命令窗口中输入pathtool,打开工具,在修改完成后,要保存。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)