Matlab 矩阵操作、魔方矩阵、3 维矩阵、圆周长和面积计算、符号变量应用
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 维矩阵操作、圆周长和面积计算,以及符号变量的应用。提供了详细的代码示例和运行结果。
原文地址: https://www.cveoy.top/t/topic/cSOw 著作权归作者所有。请勿转载和采集!