MATLAB基础作业其一
MATLAB 基础第一次作业
一、基础巩固题(每题8 分,共4 题,满分32 分)
目标:熟练掌握MATLAB 的基本运算规则、变量赋值及简单函数使用。
1. 温度转换计算
编写代码将25 摄氏度转换为华氏度,转换公式为F = C × 9/5 + 32。要求:定义变量C 存储摄氏度数值,计算后输出结果(保留1 位小数)。
MATLAB代码:
1 | % 定义摄氏度变量 |
运行结果截图:
命令行输出:
>> h1_1
25摄氏度转换为华氏度是: 77.0°F
2. 简单表达式求值
计算表达式的值。要求:使用MATLAB 内置函数(sqrt、log10、sin、pi)计算,直接输出结果。
MATLAB代码:
1 | % 计算分子部分 |
运行结果截图:
命令行输出:
>> h1_2
2
3. 矩阵创建与输出
创建一个3×3 的矩阵A,元素为1-9 的递增整数(第一行1-3,第二行4-6,第三行7-9),再创建一个3×1 的列向量B(元素为[2;4;6]),最后分别输出矩阵A 和向量B。
MATLAB代码:
1 | % 创建 3×3 矩阵 A |
运行结果截图:
命令行输出:
>> h1_3
矩阵 A:
1 2 3
4 5 6
7 8 9列向量 B:
2
4
6
4. 矩阵基本运算
基于第3 题中的矩阵A 和向量B,计算以下结果并输出:(1)A 的转置矩阵;(2)A 与B 的乘法(A*B);(3)A 中所有元素的平均值。
MATLAB代码:
1 | % 矩阵A和列向量B |
运行结果截图:
命令行输出:
>> h1_4
A的转置矩阵:
1 4 7
2 5 8
3 6 9A与B的乘法结果:
28
64
100A中所有元素的平均值:
5
二、能力提升题(每题17 分,共4 题,满分68 分)
目标:结合多个知识点,实现复杂逻辑与数据处理。
1. 矩阵条件筛选
创建一个4×4 的随机矩阵(元素范围0-10,使用randi 函数),筛选出矩阵中大于5 的元素并输出这些元素的位置(行号和列号)及具体数值。
MATLAB代码:
1 | % 创建 4×4 的随机矩阵,元素范围 0 - 10 |
运行结果截图:
命令行输出:
>> h2_1
原始矩阵 A:
8 6 10 10
9 1 10 5
1 3 1 8
10 6 10 1矩阵中大于 5 的元素:
行号:1,列号:1,数值:8
行号:2,列号:1,数值:9
行号:4,列号:1,数值:10
行号:1,列号:2,数值:6
行号:4,列号:2,数值:6
行号:1,列号:3,数值:10
行号:2,列号:3,数值:10
行号:4,列号:3,数值:10
行号:1,列号:4,数值:10
行号:3,列号:4,数值:8
2. 线性代数方程组求解
已知线性方程组:
将其表示为Ax = b 的形式(其中A 为系数矩阵,b 为常数项向量),使用MATLAB 求解x,并验证A ∗ x 是否等于b。
MATLAB代码:
1 | % 定义系数矩阵 A |
运行结果截图:
命令行输出:
>> h2_2
方程组的解 x:
2.7143
1.0571
-1.4000验证 A*x 的结果:
10
-5
12常数项向量 b:
10
-5
12
3. 描述性统计分析
生成一个包含50 个随机数的向量(服从均值为10、标准差为2 的正态分布,使用normrnd 函数),计算该向量的描述性统计量:均值、中位数、标准差、方差、极差(最大值减最小值),并将结果以表格形式输出。
MATLAB代码:
1 | % 生成服从均值为 10、标准差为 2 的正态分布的 50 个随机数向量 |
运行结果截图:
命令行输出:
>> h2_3
均值 中位数 标准差 方差 极差
10.568 10.644 2.5251 6.3759 13.045
4. 线性规划问题求解
使用 linprog
函数求解线性规划问题。目标函数:;约束条件:,,,。要求:正确设置目标函数系数 f
、不等式约束矩阵 A
和向量 b
、变量上下界 lb
,输出最优解 x
及对应的目标函数最小值。(提示:linprog
默认求解 问题,不等式约束需转换为 形式)
MATLAB代码:
1 | % 目标函数系数(对应 min f(x) = 2x1 + 3x2) |
运行结果截图:
命令行输出:
>> h2_4
Running HiGHS 1.7.1: Copyright (c) 2024 HiGHS under MIT licence terms
Coefficient ranges:
Matrix [1e+00, 2e+00]
Cost [2e+00, 3e+00]
Bound [0e+00, 0e+00]
RHS [1e+00, 2e+00]
Presolving model
2 rows, 2 cols, 4 nonzeros 0s
2 rows, 2 cols, 4 nonzeros 0s
Presolve : Reductions: rows 2(-0); columns 2(-0); elements 4(-0) - Not reduced
Problem not reduced by presolve: solving the LP
Using EKK dual simplex solver - serial
Iteration Objective Infeasibilities num(sum)
0 0.0000000000e+00 Pr: 1(2) 0s
2 4.3333333333e+00 Pr: 0(0) 0s
Model status : Optimal
Simplex iterations: 2
Objective value : 4.3333333333e+00
HiGHS run time : 0.01找到最优解。
最优解 x:
1.6667
0.3333目标函数最小值 fval:
4.3333