第 3 章:MATLAB 简介(3.7 课后练习挑战)

 2024-01-27 02:03:39  阅读 0

挑战

Q1.A 是一个矩阵。 A(:) 可以将 A 中的每个元素按列方向顺序(线性索引)输出为向量。 如何按行方向顺序输出 A 中的所有元素?

matlab生成0-1矩阵_矩阵生成的子空间_矩阵生成器

Q2。 使用模拟随机掷骰子 N 次。 骰子有六个均匀的面。

矩阵生成的子空间_矩阵生成器_matlab生成0-1矩阵

Q3。 庆丰班有20名学生。 现在清风老师想随机请一些同学吃饭。 每个学生被选中的概率是 60%。 请帮助庆丰老师随机选择这些学生(提示:每个学生所选择的是否都服从伯努利分布,伯努利分布是二项式分布的特例。中的函数可以用来从二项式分布生成随机数。可以搜索这个函数的帮助文档来学习,当然也可以不使用,这个函数生成,答案里还有其他方法)。

Q4。 接上一个问题,请学过概率论和数理统计的同学继续这个问题。 将上题中选择学生吃饭作为随机事件,记录随机变量X作为每次选择的学生人数。 显然:X的理论期望是12人,是20乘以0.6计算出来的。 请验证辛钦大数定律的成立性。 提示:将上面选择学生吃饭的随机事件重复N次(N应尽可能大,比如1000次),求这N次独立事件中提取的学生人数的平均值,并计算平均值和真实的期望偏差有多大,如果增加N会发生什么。

Q5.中有一个非常有用的函数:,可以随机打乱一个数字序列。 它有两个最常见的用途:

用法1:(n) 可以随机打乱向量1:n中元素的顺序,生成长度为n的新向量,因此有n! 各种可能的情况(全面安排)。 例如,当您运行 (4) 时,您可能会得到 [1 4 3 2],也可能会得到 [3 2 4 1]。

用法2:(n,k)表示从加扰的1:n序列中随机选择k个数字。 显然这k个数都是不同的,并且k必须小于或等于n。 例如,当您运行 (10,3) 时,您可能会得到 [5 1 10],也可能会得到 [6 5 8]。

请回答以下问题:

(1)根据上面的介绍,请测试一下函数的功能。 特别是,如果 n 是负数或小数会发生什么? 如果 k 大于 n 会发生什么?

(2)假设某产品销售员要在10个城市销售产品。 业务员随机从一个城市出发,需要经过所有其他城市才返回出发城市(所经过的城市不再重复)。 请做这个促销活动。 玩家随机生成一条路线。 为了方便起见,这10个城市用数字1至10表示。

(3) 在下面的场景中完成这个程序:假设你是一位高级数学老师,你正在向你的同学解释不定积分的计算。 这时,你备课时准备的4个练习就会出现在你的PPT上。 你需要随机选择四名幸运的学生来到黑板前进行计算。 已知你们班有50名学生,学生证为。 您运行您在 中编写的程序。 0.1s后,这四名学生的学号被随机输出到 中。

(4)假设一家公司在年会上设置了抽奖活动。 主办方为抽奖准备了一个不透明的盒子。 盒子里有10张彩票,面值为[1 25 10 20 50 100 200 500 1000]。 每位员工随机抽取 3 张门票,并将这 3 张门票合并起来。 面值相加即可得到最终的红包奖励。 请设计一个程序来模拟本次抽奖中清风老师抽奖可以获得的红包数量。

(5)一副扑克牌共有54张,其中大王、小王各一张,A、2、3、4、5、6、7、8、9、10、J、Q各四张、K。假设我们不考虑桃、杏、梅四种花色。 请设计一个发牌程序,向地主发 20 张牌,向两个农民发 17 张牌。 为了方便起见,将A、2、3、4、5、6、7、8、9、10、J、Q和K分别替换为数字1至13。 小王被换成14,大王被换成15。

Q6. 最近有一个短视频上有一个有趣的街头抽奖游戏。 规则是这样的:店主准备了24个相同大小的玻璃球,其中红、黄、蓝各8个,装进一个袋子里。 接下来,玩家从袋子里抓起12个球,然后数出每种颜色的球的数量,并将颜色较多的球放在前面。 例如5个红、4个蓝、3个黄,这是543。玩家抽出的12个球的颜色分布一定在下表所示的13种情况中。 假设免费参加这个游戏,如果抽到了相应的情况,商店需要向玩家支付表中第二行对应的金额。 注意,除了543的情况,玩家要向商店支付30元,其他12个情况都是为玩家赚钱的。 如果运气好,抓住840的情况(比如抽到8个蓝球,4个红球),就可以赚300元。 请模拟这个游戏并多次运行您的代码。 如果你作为玩家多次参与,你会赚钱还是赔钱? 你能从理论上解释一下为什么吗?

健康)状况

第840章

第831章

第822章

750

第741章

第732章

660

数量

300

200

200

80

60

15

100

健康)状况

第651章

第642章

第633章

第552章

第543章

第444章

数量

10

-30

Q7. 层次分析法是数学建模中常用的模型。 主要用于解决评价问题,也可以确定评价体系中指标的权重。

矩阵生成的子空间_矩阵生成器_matlab生成0-1矩阵

现在给你一个矩阵A,请判断A是否满足层次分析法中判断矩阵的三个特征。

Q8. 根据上一个问题,请编写一段可以随机生成n阶(例如n=5)判断矩阵的代码。 判断矩阵必须满足上题中的三个特征。

Tips:(1)判断矩阵的主对角线元素必须为1,为什么? (2)在本章3.5节中,我们学习了如何生成随机对称矩阵。 在n阶对称矩阵中,我们只需要生成n*(n-1)/2个随机数。 那么本题中的n阶判断我们需要在矩阵中生成多少个随机数呢?

Q9. 生成100个随机点,所有这些点都位于单位圆内:。 注意,需要的输出x和y都是长度为100的向量,分别代表这100个点的横坐标和纵坐标。

提示:我们可以借助圆的极坐标公式生成随机数。 下面我为大家准备了一个图形可视化代码。 如果将生成随机数的核心代码放入答案区,然后运行整个程序,就会出现类似右图的图形。 如果你的点都在单位圆内,你的答案就是正确的。

closetheta = 0:0.01:2*pi;xx = cos(theta);yy = sin(theta);plot(xx,yy,'r')  % 画一个单位圆hold onaxis equalaxis([-1 1 -1 1])% 答题区域---------开始

% 答题区域---------结束plot(x,y,'*b')

矩阵生成器_matlab生成0-1矩阵_矩阵生成的子空间

Q10. 与上题的思路类似,请生成100个随机点,所有点都位于圆圈内。 其中,圆心坐标为(10,4),半径为10。

closecc = [10,4];  % 圆心radius = 10;  % 半径theta = 0:0.01:2*pi;xx = cc(1) + radius * cos(theta);yy = cc(2) + radius * sin(theta);plot(xx,yy,'r')hold on;  axis equalaxis([cc(1)-radius cc(1)+radius cc(2)-radius cc(2)+radius])% 答题区域---------开始

% 答题区域---------结束plot(x,y,'*b')

矩阵生成器_matlab生成0-1矩阵_矩阵生成的子空间

Q11. 蒙特卡罗模拟是一种基于概率和统计理论的计算方法,可以通过随机数解决许多计算问题。 蒙特卡罗方法将待解决的问题与一定的概率模型联系起来,利用计算机进行统计模拟或抽样,以获得问题的近似解。 本题将使用蒙特卡洛模拟来计算圆周率。

矩阵生成的子空间_matlab生成0-1矩阵_矩阵生成器

有些学生可能好奇为什么这种关系成立。 其实这里用到了概率论和数理统计中的几何概率和大数定律的思想。 这里我们就不深究了,大家可以有一个印象。

现在请生成 N 个随机点(N 为 10000)。 每个随机点的横坐标和纵坐标均匀分布在区间[0,1]内。 接下来,计算位于 1/4 圆内的随机点。 数n,然后应用上面的公式计算出近似的pi。 将你的N分别改为10次、100次和1000次。 计算出的 pi 的精度会如何变化?

matlab生成0-1矩阵_矩阵生成器_矩阵生成的子空间

Q13. 青峰订了一份报纸。 送报员可能会在早上 6:30 到 7:30 之间将报纸送到家门口,而青峰则在早上 7:00 到 8:00 之间出去(假设送报员到达的时间和送报员到达的时间)。庆丰发车时间均匀分布在相应的时间区间内)。 使用蒙特卡罗模拟来估计庆丰在离家之前拿到报纸的概率。 注意:这是一个关于概率论中几何概念的经典问题。 准确的概率是7/8。

Q14. 异常值或异常值是指一组数据中与其他值显着不同的一个或几个值。 举个极端的例子,

[4600,0,5000,5200,4700,4300,6000,5400,,6200]

在这组数据中,我们可以认为0和这两个数字是异常值,因为剩下的数字都集中在5000左右。 异常值的识别和处理是数据清洗的重要组成部分。 异常值的存在可能会导致后续数据分析和建模工作出现偏差。 这个问题将教你两种简单的方法来识别异常值。

矩阵生成器_matlab生成0-1矩阵_矩阵生成的子空间

方法 2:使用箱线图识别异常值

箱线图,又称盒须图、箱线图或箱线图,是一种用来显示数据离散程度的统计图表。 因其形状如盒子而得名。 下图左侧是一个箱线图,用来反映某班级男女学生的身高分布。 右侧显示箱线图上每个元素的含义。 正如您所看到的,箱线图可以反映数据的许多统计信息,例如平均值、中位数、上四分位数和下四分位数。 另外,箱线图指定了数据的异常值,因此我们可以使用箱线图来识别数据的异常值。 我们来介绍一下箱线图中异常值的定义。 (注:箱线图的绘制没有唯一的方法,以下是典型的绘制方法)

首先回顾一下中位数的定义:我们将数据按照从小到大的顺序排列。 排列好的数据中间的数字就是中位数,我们用Q2来表示。

下四分位数是位于排列数据的25%位置的值,我们用Q1来表示; 上四分位数是位于排列数据75%位置的值,我们用Q3来表示。 (Q1和Q3可以直接在 中计算,无需担心计算问题,请阅读以下内容)

matlab生成0-1矩阵_矩阵生成器_矩阵生成的子空间

然后我们需要定义一个称为四分位距(IQR:range)的指标,它是上四分位数(Q3,即 75%)和下四分位数(Q1,即 25%)之间的距离。 因此IQR=Q3-Q1。 四分位距反映了中间50%数据的分散程度。 值越小,数据越集中在中间; 值越大,说明中间的数据越分散。

matlab生成0-1矩阵_矩阵生成的子空间_矩阵生成器

请完成以下问题:

(1)庆丰在武汉开了一家猫宠店。 他统计了近一个月来每天进店养猫的人数(这个故事纯属虚构)。 请使用以下三行代码生成随机向量x。 向量x表示最近一个月清风记录的每天进店的人数。 从下一个问题开始,请假装你不知道这个数据是我们随机生成的,并将其视为真实数据。 你能做到吗?

x =fix(50+5*randn(30,1));x(randi(30,2,1))= randi([50,90],2,1);x(randi(30,2,1))= randi([20,50],2,1);

(2)计算本月人最多的一天和人最少的一天分别有多少人在抚摸猫? 平均有多少人? 标准差是多少? 下四分位数、中位数和上四分位数分别是多少? (提示:可以使用函数来计算分位数,具体使用方法请自行百度。)

(3)无论是使用3σ原则还是箱线图来识别异常值,都需要计算正常值所在的区间。 请计算这两种方法的正常值所在的区间。 哪种方法的区间范围更大?

(4) 使用两种方法识别x中的异常值,并输出异常值发生的日期。 您可以多次运行第一个问题中的代码来生成新的 x 并观察哪种方法识别出更多的异常值?

(5) 基于异常值的箱线图识别,完成以下两个任务: (a) 删除x中的异常值,并将剩余的正常值保存到向量y中; (b) 计算正常值的平均值,用舍入平均值替换 x 中的异常值,并将结果保存到向量 z 中。

Q15. 在本章3.3.5节介绍排序函数时,我们留下了一个问题:如果存在一些成绩相同的学生,那么课堂上教授的代码将无效,我们计算的排名无法区分成绩相同的学生。相同的成绩。 。 下表显示了两种不同的排名结果。 分数越高,排名越高。 如果分数相同,则排名相同。 但普通排名中的并列名次会占据排名的数值位置,而中文排名中的并列名次则不会占据名次位置。 。 现在给定第一行的得分向量,请分别计算第二行和第三行的两个排名。 提示:您可以使用函数。

Q16. 行向量A至少包含两个元素,且A不包含元素0。请判断A中能否找到两个互为相反的元素。 如果能找到,则返回逻辑1,如果找不到,则返回逻辑0。例如,A = [3 1 -1 2]返回逻辑值1,而A = [-3 4 1 2 6 -5]返回逻辑值0。此外,如果A可能包含0,您的代码仍然适用吗? 如果它不适用,请修复您的代码。 例如,A=[3 4 -2 0 1] 返回逻辑值 0,A=[3 4 0 -2 0 1] 返回逻辑值 1。

Q17. 请完成以下一系列任务:

矩阵生成的子空间_matlab生成0-1矩阵_矩阵生成器

matlab生成0-1矩阵_矩阵生成的子空间_矩阵生成器

矩阵生成器_矩阵生成的子空间_matlab生成0-1矩阵

matlab生成0-1矩阵_矩阵生成的子空间_矩阵生成器

注:问题均为自制,不提供答案。 学生可以根据前面的内容解答这些问题。

标签: matlab

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码