matlab学习笔记:第三章课后习题

devtools/2024/11/17 3:34:15/
练习题1.

(1) 生成一个6行3列的随机矩阵A,矩阵中每个元素都是位于区间[50,100]之间的随

机整数,下面我们假设矩阵A的每一行代表一名学生,这六名同学的三门科目的

成绩对应着三列;

(2) 将第一门科目六名同学的成绩赋值给变量B,对B进行降序排列,排序后的向量

记为BB,并返回BB中的每个元素在B中的索引向量ind;

(3) 计算A中所有成绩的自然对数;

(4) 请基于第二科的成绩按升序对这六名同学进行排序,当第二科成绩相同时,请保持

其在矩阵中出现的先后顺序;

(5) 计算六名同学的总分以及每门科目的平均分;

(6) 计算每门科目的最低分,并返回是第几位同学取得的分数;

(7) 计算每名同学在哪门科目上分数最高、并返回最高分;

(8) 假设这三门科目的权重分别是0.2, 0.5, 0.3,请计算每名同学的加权平均分(即三

门科目的成绩分别乘以对应的权重,然后再求和);

(9) 判断这三门科目是否有同学不及格(低于 60 分),如果有任意一名同学在某个科

目中不及格就返回逻辑值1,否则返回逻辑值0;

(10)统计每门科目不及格的人数;

(11)将A中低于60分的成绩全部改成60分;

(12)在上一问的基础上重新计算六名同学的总分,并找出总分最高的同学。

A = randi([50,100],6,3)
B = A(:,1);
A3 = log(A);
[BB,ind] = sort(B,"descend");
A_4 = sortrows(A,2,"descend");
A_5_1 = sum(A,2);
A_5_2 = mean(A,2);
[A6,ind1] = min(A,[],1);
[M,I] = max(A,[],2,"linear");
A7_ = A(I);
A8 = A(:,1)*0.3 + A(:,2)*0.5 + A(:,3)*0.3;
A9 = (A <= 60);
A10 = sum(A9,1);
A(A <= 60) = 60;
A12 = sum(A,2);
[A12_1,ind2] = max(A12);
练习题2. 

如果x是一个常数,A是一个矩阵,请给出至少两种方法来判断A矩阵中是否存在x?
存在则返回逻辑值1,否则返回逻辑值0

x = 6
A = randi([1,8],3,4)
ismember(x,A);  %方法一
x == A          %方法二
 练习题3.

生成包含3个元素的行向量A,A中每个元素都是位于1-10之间的随机整数;再生成

包含10个的元素的行向量B,B中的每个元素也都是位于1-10之间的随机整数。

(1) A中的这三个元素哪些出现在B中?

(2) A中每个元素是否都包含在B中?

A = randi([1,10],1,3)
B = randi([1,10],1,10)
C = intersect(A,B)
D = ismember(A,B)
练习题4.

如何创建一个包含n个元素的等比数列,其第一项为a,最后一项为b。例如a=2, b=1024, n=10 时,创建的等比数列为:[2 4 8 16 32 64 128 256 512 1024]

a = log10(2);
b = log10(1024);
n = 10;
A = logspace(a,b,n)
练习题5.

以创建一个m行n列的随机矩阵,矩阵中的每个元素都服从均值为𝑝,方差𝑞2的正态分布。

m = 3
n = 4
p = 3
q = 4
A = randn(m,n)
A1 = p + q^2 * A
练习题6.

找到向量x中最大值对应的位置索引,如果有多个最大值,将它们的索引全部返回。

A = [3 7 6 2 2 5 9 9 9 3]
M = max(A)
A1 = (A == M)
ind = find(A1)
练习题7.

给出一个实矩阵 A,请判断 A 是否为对称矩阵。(实矩阵是指矩阵中的每一个元素都 是实数,不含复数;若A和A的转置相同,则A为对称矩阵)

A = randi([1,9],4)
A1 = triu(A,1)
A1_ = transpose(A1)
A2 = tril(A,1)
sum(A1_ == A2,"all")    %只有为零的时候才是对称矩阵
练习题8.

下面是斐波那契数列的通项公式,请使用该通项公式计算n=1,2,…,10的前10项。

n = 10
S = 1/sqrt(5) * (((1+sqrt(5))/2)^n - ((1-sqrt(5))/2)^n)

后续题目有时间再写


http://www.ppmy.cn/devtools/134609.html

相关文章

HTML的浮动与定位

1. 浮动 浮动可以使一个元素脱离自己原本的位置&#xff0c;并在父元素的内容区中向左或向右移动&#xff0c;直到碰到父元素内容区的边界或者其它浮动元素为止。 值描述left元素向左浮动right元素向右浮动 普通文档流&#xff1a;浏览器在默认情况下规定一个块元素在父元素…

C++的版本

C是一种高效、灵活和强大的编程语言&#xff0c;自1983年由Bjarne Stroustrup在贝尔实验室创立以来&#xff0c;经历了多个版本的更新。以下是C的主要版本及其特点&#xff1a; C98&#xff1a; 1998年发布&#xff0c;是C的第一个国际标准。引入了类、继承、模板、异常处理等…

【Goland】——Gin 框架简介与安装

文章目录 1. Gin 框架概述1.1 什么是 Gin 框架&#xff1f;1.2 为什么选择 Gin&#xff1f;1.3 使用场景 2. 安装 Go 与 Gin 框架2.1 安装 Go 语言环境2.2 初始化 Go 项目2.3 安装 Gin 框架 3. 编写第一个 Gin 应用3.1 Gin 最小化示例代码代码解读3.2 运行程序3.3 测试服务 4. …

Net.Core Mvc 添加 log 日志

1: 首先在 Nuget 安装插件 2&#xff1a;添加 log 配置 在项目中新创件一个文件夹 ConfigFile 在文件家里面添加 log4net.config log4net.config 里面写入 <?xml version"1.0" encoding"utf-8"?> <configuration><log4net><!--跟…

简易的学生信息管理系统制作——C语言实现

菜单代码 #include "head.h" int main(int argc, const char *argv[]) {int ch,k;//登录注册while(1){printf("\t1、注册\n");printf("\t2、登录\n");printf("\t0、退出\n");printf("请输入你的选择&#xff1a;");scanf(&…

STM32 ADC --- 任意单通道采样

STM32 ADC — 单通道采样 文章目录 STM32 ADC --- 单通道采样cubeMX配置代码修改&#xff1a;应用 使用cubeMX生成HAL工程 需求&#xff1a;有多个通道需要进行ADC采样&#xff0c;实现每次采样只采样一个通道&#xff0c;且可以随时采样不同通道的功能。 cubeMX配置 这里我们…

FPGA使用Verilog实现CAN通信

FPGA实现CAN通信&#xff08;Verilog&#xff09; 1.作者使用的方法是通过FPGA芯片&#xff08;如Xilinx公司的型号为XC7K325TFFG676-2&#xff09;控制SJA1000T芯片&#xff08;CAN控制器芯片&#xff09;实现CAN通信&#xff0c;如下图所示&#xff1a; 2.熟悉连接方式之后&…

【计网不挂科】计算机网络第五章< 传输层 >习题库(含答案)

前言 大家好吖&#xff0c;欢迎来到 YY 滴计算机网络 系列 &#xff0c;热烈欢迎&#xff01; 本章主要内容面向接触过C的老铁 本博客主要内容&#xff0c;收纳了一部门基本的计算机网络题目&#xff0c;供yy应对期中考试复习。大家可以参考 本章为分章节的习题内容题库&#x…