MATLAB数值运算(六)

简介: MATLAB数值运算(六)

原创代码,仅供参考,不要直接CV呀 ~_~

b2903b424ea1284297b91120c74da9c2_7ea85ec3a9b44e3da308c5199ea1e4c5.gif

实验目的

1)掌握定义符号对象和创建符号表达式的方法;

2)掌握符号运算基本命令和规则;

3)掌握符号表达式的运算法则以及符号矩阵运算

4)掌握符号微积分和符号方程求解的基本方法。

实验内容

2-1)、10个学生5门功课的成绩统计如下表所示:

数学

语文

外语

物理

化学

1

90

89

91

82

75

2

88

82

85

89

95

3

79

89

93

82

76

4

91

89

87

79

85

5

90

79

78

91

82

6

86

85

84

89

88

7

89

91

79

90

94

8

75

85

95

90

87

9

85

78

75

90

89

10

98

89

87

86

80

1)求每门课的最高分、最低分和平均分;

2)求每位学生5门课总分的最高分、最低分和平均分;

3)绘制带有平均分数线的各科成记分布曲线(要求:给曲线加图例且各科平均分数线颜色与相应课程成记曲线的颜色相同)。

1. % (1) 求每门课的最高分、最低分和平均分
2. Grade = [90 89 91 82 75; 88 82 85 89 95; 79 89 93 82 76; 91 89 87 79 85; 90 79 78 91 82; 86 85 84 89 88; 89 91 79 90 94; 75 85 95 90 87; 85 78 75 90 89; 98 89 87 86 80;];
3. Max  = max(Grade, [], 1) %每一科成绩最高分
4. Min  = min(Grade, [], 1) %每一科成绩最低分
5. Mean = mean(Grade, 1)    %每科成绩的平均分
6. % (2) 求学生总分的最高分、最低分和平均分
7. Student_sum  = sum(Grade,2);
8. Student_Max  = max(Student_sum)    %学生总分的最高分
9. Student_Min  = min(Student_sum)    %学生总分的最低分
10. Student_mean = mean(Student_sum)   %学生总分的平均分
11. % (3) 绘制带有平均分数线的各科成记分布曲线
12. X = 1:10; %10个学生
13. plot(X, Grade(:,1), 'r'); hold on; %数学成绩 红色 r   Grade(:,1)是第一列
14. plot(X, Grade(:,2), 'g'); hold on; %语文成绩 绿色 g
15. plot(X, Grade(:,3), 'b'); hold on; %外语成绩 蓝色 b   Grade(:,3)是第三列
16. plot(X, Grade(:,4), 'c'); hold on; %物理成绩 青色 c
17. plot(X, Grade(:,5), 'k'); hold on; %化学成绩 黑色 k   
18. plot(X, 0*X + Mean(1), 'r'); hold on;  %数学平均分 红色 r
19. plot(X, 0*X + Mean(2), 'g'); hold on;  %语文平均分 绿色 g
20. plot(X, 0*X + Mean(3), 'b'); hold on;  %外语平均分 蓝色 b
21. plot(X, 0*X + Mean(4), 'c'); hold on;  %物理平均分 青色 c
22. plot(X, 0*X + Mean(5), 'k'); hold off; %化学平均分 黑色 k
23. legend('数学','语文','外语','物理','化学'); %加图例

e9e2299a34bf55766e085c5a06fd60de_af7e8ef1b3264f468cfcc9ce7016ad4e.png

2-2)、

f99a2923b961b567fbbb4f9997ce38f1_0106f0844f204e7faa3b983fbfdd7c33.png

1. a = [0 1 0 1]; b = [1 3]; c = [1 1]; d = [1 0 2 1];
2. t = conv(a, b)   %先a*b 赋值给 temp
3. t = conv(t, c)   %用temp变量与c相乘
4. [Q, r] = deconv(t, d)

2-3)

252017d3be99aa22640b1eeb8cddcaf6_337d3b42f96c421689bc6036810f3bbf.png

1)求P(x)=P1(x)+P2(x)P3(x)

2)求P(x)的根

3)当x取矩阵A的每一元素时,求P(x)的值,其中

8822e5ca8461ce8287b14d859432829c_8fda01f82ea74921b3722d5d210bca25.png

1. p1 = [1 2 4 0 5]; p2 = [1 2]; p3 = [1 2 3];
2. t = conv(p2, p3);    %p2*p3
3. px = p1 + [0, t]     %多项式加减运算,低次多项式系数前补0
4. root = roots(px)        %求根
5. A = [-1 1.2 -1.4; 0.75 2 3.5; 0 5 2.5];
6. y = polyval(px, A)  %多项式求值,将A带入

2-4)、某观测站测得某日6:00时至18:00时之间每隔2小时的室内外温度(℃),用3次样条插值分别求得该日室内外6:30至17:30时之间每隔2小时各点的近似温度(℃),并绘制出室内外温度曲线图(左上角添加图例和轴标签)。

时   间

6

8

10

12

14

16

18

室内温度(℃)

18

20

22

25

30

28

24

室外温度(℃)

15

19

24

28

34

32

30

1. T = 6 : 2 : 18;  %时间
2. x1 = [18 20 22 25 30 28 24];
3. x2 = [15 19 24 28 34 32 30];
4. t1 = 6.5 : 2 : 17.5;    %该日室内外6:30至17:30时之间每隔2小时各点的近似温度(℃)
5. y1 = interp1(T, x1, t1, 'spline');   %3次样条插值法 spline
6. plot(T, x1, t1,  y1); hold on;
7. y2 = interp1(T, x2, t1, 'spline');   
8. plot(T, x2, t1,  y2);
9. legend('室内外温度');        %添加图例
10. % legend('室内外温度',2);    %左上角添加图例
11. xlabel('时间'); ylabel('温度'); %x y 轴标签

2-5)、ee334229e2817e608f26c72ec3471a73_095f4908bb89407ab8e0ba0c1b33c403.png

1. clear all;
2. x = [pi/6, pi/4, pi/3, pi/2];
3. y1 = sin(x).^3 + cos(x).^3  %点乘 按(数组)元素求幂
4. h = 0.0000001;
5. y2 = sin(x+h).^3 + cos(x+h).^3
6. Y = (y2-y1)/h    %导数

2-6)、求函数在(0,1)内的最小值。

9bcf7598343b21b50c9777a61cd897a4_d58b7121a69c4acbb77a7218e587147f.png

1. x = 0 : 0.0001 : 1;  % x取值
2. fun = x.^3 + cos(x) + x.*log(x) ./ exp(x);
3. Min = min(fun)  %求最小值

2-7)、求解定积分

e73206519ec65307d0c998390356dbb8_0f9399ca2294453da538047905f52105.png

注意:新版本的被积表达式要加@(x)

1. x = 0:0.01:log(2);
2. px = @(x) exp(x).*(1+exp(x).^2);    %被积分表达式
3. I1 = quad(px, 0, log(2))    %输出结果

642cae470634b6dbc0d702247b48a2b6_b7616612bff342fbbe269089171693c4.jpeg


相关文章
|
算法
MATlAB运用——数值积分
MATlAB运用——数值积分
169 0
|
6月前
|
算法 计算机视觉 异构计算
基于FPGA的图像差分运算及目标提取实现,包含testbench和MATLAB辅助验证程序
基于FPGA的图像差分运算及目标提取实现,包含testbench和MATLAB辅助验证程序
|
24天前
|
算法 C++ Windows
基于离散差分法的复杂微分方程组求解matlab数值仿真
本程序基于离散差分法求解复杂微分方程组,将连续微分方程转化为差分方程,采用一阶显式时间格式和一阶偏心空间格式。在MATLAB2022a上测试通过,展示了运行结果。
|
1月前
|
Serverless
MATLAB中的矩阵与向量运算
【10月更文挑战第2天】本文全面介绍了MATLAB中的矩阵与向量运算,包括基本操作、加减乘除、转置、逆矩阵、行列式及各种矩阵分解方法。通过丰富的代码示例,展示了如何利用矩阵运算解决线性方程组、最小二乘法拟合、动态系统模拟和电路分析等问题。掌握这些运算不仅提升编程效率,还能在工程计算和科学研究中发挥重要作用。
51 1
|
6月前
|
Serverless 索引
matlab--------矩阵的运算
matlab--------矩阵的运算
56 1
matlab--------矩阵的运算
|
数据可视化 索引
MATLAB--控制语句--数组操作--符号运算--绘图--文件和数据的处理(二)
MATLAB--控制语句--数组操作--符号运算--绘图--文件和数据的处理
107 0
|
6月前
|
数据可视化
第七章:MATLAB基本运算符号解析及案例详解
第七章:MATLAB基本运算符号解析及案例详解
105 1
专题一MATLAB基础知识——1.6MATLAB基本运算
专题一MATLAB基础知识——1.6MATLAB基本运算
74 0
|
存储
专题一MATLAB基础知识——1.2数值数据
专题一MATLAB基础知识——1.2数值数据
112 0