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 著作权归作者所有。请勿转载和采集!