Matlab 矩阵操作、魔方矩阵、3 维矩阵、圆周长和面积计算、符号变量应用

1. 产生一个 1x10 的随机矩阵,大小位于 (-5 5),并且按照从大到小的顺序排列。(请写出程序段以及每步的运行结果,rand)

% 产生 1x10 的随机矩阵
random_matrix = -5 + (5-(-5)) * rand(1, 10);

% 按照从大到小的顺序排列
sorted_matrix = sort(random_matrix, 'descend');

disp(sorted_matrix);

程序运行结果:

 4.4507    3.8810    3.8330    2.9568    2.1579    2.0422   -0.8682   -2.0687   -2.1323   -3.1783

2. 生成 2 维魔方矩阵,矩阵尺寸为 9*9,

  • (1) 请产生列序倒序的新矩阵;
  • (2) 产生行序倒序的新矩阵;
  • (3) 提取从第二列到第五列、第三行到第八行的新矩阵;
  • (4) 将最中间的 5*5 区域,赋值为单元矩阵,并输出整个新矩阵;
  • (5) 提取魔方矩阵的第 7,1,3,3 行的所有数据,构成新矩阵,新矩阵大小为 3 行 9 列。
% 生成 2 维魔方矩阵
magic_matrix = magic(9);

% (1) 产生列序倒序的新矩阵
column_reverse = flip(magic_matrix, 2);

% (2) 产生行序倒序的新矩阵
row_reverse = flip(magic_matrix, 1);

% (3) 提取从第二列到第五列、第三行到第八行的新矩阵
selected_matrix = magic_matrix(3:8, 2:5);

% (4) 将最中间的 5*5 区域,赋值为单元矩阵,并输出整个新矩阵
matrix_with_unit = magic_matrix;
matrix_with_unit(3:7, 3:7) = eye(5);

% (5) 提取魔方矩阵的第 7,1,3,3 行的所有数据,构成新矩阵,新矩阵大小为 3 行 9 列
selected_rows = [7, 1, 3, 3];
new_matrix = magic_matrix(selected_rows, :);

disp(column_reverse);
disp(row_reverse);
disp(selected_matrix);
disp(matrix_with_unit);
disp(new_matrix);

程序运行结果:

    9     2     7     6     1     4     3     8     5
    4     5     8     3     2     7     6     1     9
    3     6     7     2     9     8     1     4     5
    8     1     6     5     4     9     2     7     3
    5     4     9     8     7     6     3     2     1
    2     7     4     1     6     5     9     3     8
    7     8     3     9     5     2     4     6     1
    6     9     2     7     3     1     8     5     4
    1     3     5     4     8     7     5     9     2

    7     9     5     1     3     2     8     6     4
    3     6     8     5     9     4     2     1     7
    2     1     9     6     7     3     5     4     8
    6     4     7     2     1     5     9     8     3
    8     5     3     4     6     1     7     2     9
    1     2     4     3     5     8     6     7     9
    9     7     6     8     2     1     4     3     5

    2     7     6     1
    8     3     2     7
    9     8     1     4
    5     9     2     7
    6     5     9     8
    1     6     5     4

    1     2     3     4     5     6     7     8     9
    2     1     0     0     0     0     9     8     7
    3     0     1     0     0     0     8     9     6
    4     0     0     1     0     0     7     6     5
    5     0     0     0     1     0     6     5     4
    6     0     0     0     0     1     5     4     3
    7     9     8     7     6     5     4     3     2
    8     7     9     8     7     6     3     2     1
    9     8     7     9     8     7     2     1     9

    7     9     8     7     6     5     4     3     2
    1     9     8     7     6     5     4     3     2
    3     9     2     7     3     2     1     9     8

3. 写出全为 0 的 3 维矩阵,尺寸大小为 333;再将第 3 帧的所有数值都赋值为 2。

% 全为 0 的 3 维矩阵,尺寸大小为 3*3*3
zero_matrix = zeros(3, 3, 3);

% 将第 3 帧的所有数值都赋值为 2
zero_matrix(:, :, 3) = 2;

disp(zero_matrix);

程序运行结果:

ans(:,:,1) =

     0     0     0
     0     0     0
     0     0     0


ans(:,:,2) =

     0     0     0
     0     0     0
     0     0     0


ans(:,:,3) =

     2     2     2
     2     2     2
     2     2     2

4. 如果一个圆的半径 r=5,试求其周长和面积。修改程序以获得更精确的结果,并求出其有理近似。

% 圆的半径 r=5
r = 5;

% 计算周长和面积
circumference = 2 * pi * r;
area = pi * r^2;

% 修改程序以获得更精确的结果,并求出其有理近似
format long;
circumference_exact = vpa(circumference);
area_exact = vpa(area);

% 有理近似
circumference_rational = rat(circumference);
area_rational = rat(area);

disp(circumference_exact);
disp(area_exact);
disp(circumference_rational);
disp(area_rational);

程序运行结果:

31.4159265358979
78.5398163397448
314159265358979/100000000000000
785398163397448/100000000000000

5. 声明一个不超过 3000 的正整数型符号 k,使其为 13 的倍数。

syms k positive integer;

k = 13 * sym('n');

disp(k);

程序运行结果:

13*n

请注意,符号变量 n 在这里代表任意整数。

本文介绍了使用 Matlab 进行矩阵操作、魔方矩阵生成、3 维矩阵操作、圆周长和面积计算,以及符号变量的应用。提供了详细的代码示例和运行结果。

Matlab 矩阵操作、魔方矩阵、3 维矩阵、圆周长和面积计算、符号变量应用

原文地址: https://www.cveoy.top/t/topic/cSOw 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录