Matlab读写操作
随机生成一个3*3矩阵,对矩阵进行按列升序排列
>> A=rand(3,3);
>> [B, ~] = sort(A, 2);
>> B
B =
0.4898 0.6797 0.7094
0.4456 0.6551 0.7547
0.1626 0.2760 0.6463
在不同数值类型下显示π的值
1、默认数值类型
>> p_default=pi;
>> disp(p_default);
3.1416
2、整形类型
>> pi_int = round(pi);
>> disp(pi_int);
3
两个矩阵的/与\
>> A=[1 3 5;7 9 11;13 15 16];
>> B=[54 66 75;117 147 171;193 243 283];
>> A/B
ans =
-0.6667 -1.3333 1.0000
-0.6667 3.6667 -2.0000
1.0000 -2.0000 1.0000
>> A\B
ans =
-24.2500 -27.7500 -29.5000
47.7500 56.2500 61.5000
-13.0000 -15.0000 -16.0000
掌握文件的读写操作语句,如
load, save;
fopen, fclose;
fgetl, feof,
textscan,textread等。
能读取矩阵数组(二维方阵)以及长度不同的交易数据库。测试文件包括test1.txt, test2.txt, test3.txt。
test1.txt的内容如下:
1 2 3 4
9 8 0 6
2 3 4 7
test2.txt的内容如下:
1 2 3 4 5 0 8
9 8 0 6
2 3 4 7 1 2
test3.txt的内容如下:
1 2
2 3 4
1 2 3 4
1 2 4
1 2 3 4
读取给定的交易数据库test3.txt,将整个交易数据库表示为一个矩阵,每个元组表示成一个行向量,
向量长度为4。其中,一个项目出现在这个元组中,则相应位置设为1,否则为0。如第1个交易{1,2}表示为
向量[ 1 1 0 0]。
% 打开文件
fid = fopen('test3.txt', 'r');
% 初始化矩阵
matrix = zeros(0, 4);
% 逐行读取数据
while ~feof(fid)
% 读取一行数据
line = fgetl(fid);
% 将一行数据分割为多个元素
elements = split(line, ' ');
% 将每个元素转化为向量
vector = zeros(1, length(elements));
for i = 1:length(elements)
vector(i) = str2double(elements{i});
end
% 将向量添加到矩阵中
matrix = [matrix; vector];
end
% 关闭文件
fclose(fid);
% 显示矩阵
disp(matrix);