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);

你可能感兴趣的:(MatLab,1024程序员节)