JSP在线考试系统_数据模型视图考试系统-程序员宅基地

技术标签: JSP  mySQL  

JSP在线考试系统

第一章 绪论

1.1.课题的背景及研究意义
在我们教育快速发展的今天,比较传统的纸质考试已经过时了,因为这不仅需要大量的人力物力去打印试卷、还要去批改试卷,要花费大量的时间。更关键的是,在远程的教学模式中,不利于安排统一的考试,注定要被时代所淘汰。为了突破传统的考试模式,为了新形势的有效发展,为了缓解老师们的工作压力,实现基于网络的在线考试,使考试可以在任何时间、地点进行,不受地域的约束。
1.2.本文的研究内容
本文的研究内容有:管理考试题库、管理考生资料、随机抽题组卷、在线考试、查询成绩等。主要介绍了系统的分析,设计开发的全部过程,通过对系统功能的分析、程序操作控制图设计、对系统设计过程进行详细的介绍等等。本课题所研发的系统,采用软件工程的思想,基于多层次系统结构进行开发。数据层设计包括数据库onlineTest的创建等。
1.3.预期设计目标
网上考试系统提供的是一种面向较广区域的用户群系统。它需要自身能够提供给不同区域的用户进行方便的访问以及足够的安全性以及大量的考试信息。用户只需要拥有一台计算机,并能方便地接入网络,便可实现在线的、实时性的在线考试服务。用户登陆系统主页,就可以根据用户权限登录到不同的主页面,这样不同的用户就可以享受到不同的服务。
在线考试系统实现考试的无纸化管理,实现随机抽题组卷、在线考试、题库管理等功能。系统分前台和后台两个部分,前台部分主要提供考试功能,从题库中随机抽取题目并输出到窗口让考生答题;后台部分则用于考试管理员管理相关考试数据,包括对考题的管理和考生信息的管理等。

第二章 系统需求分析与设计

2.1.系统的作用与模块

2.1.1.系统的作用
传统纸质考试模式下,首先需要打印考试试卷,然后组织考试,最后还需要教师来阅卷。这一切工作都非常的浪费时间。但是在线考试系统能够使学生在计算机上面完成考生答题、自动交卷、电脑阅卷、能够自己查询成绩等功能,充分利用了网络的优势,彻底弥补了以往考试模式中的弊端,真正的可以无纸化考试了。
2.1.2.系统的模块
(1)考生:随机组卷、开始答题(记录时间)、查看错题、查看成绩、重新考试
(2)管理员:对考题的管理(增删改查)、对考生信息的管理(增删改查)、查看考生成绩。
(3)考生、管理员都可以注册、登陆、退出。

2.2.系统的分析

2.2.1.系统的要求及目的
(1)要求
功能:满足考生能在线进行考试、管理员能管理题库和管理学生信息等操作。
(2)目的
①物力、财力的减少;
②大大提升了阅卷效率;
③更好地管理考生信息;
2.2.2.系统的架构分析
该项目的总体的设计是MVC框架模式,由控制层、视图层、业务层构成。这种常用的开发模式,总体上来说,对于一个开发者是难度不大的。这样的设计对系统的总体层次也划分的非常清楚,设计是符合要求的。
2.2.3.系统的技术分析
因为在线考试系统的角色身份仅仅只有两个对象,具体说是学生、教师。所以这个在线考试系统可以采用比较小型的数据库onlineTest和比较简单的结构来设计。在科学技术快速发展的时代,当今技术发展的程度已经足够设计这样一个功能并不算复杂的在线考试系统了。
本系统属于小型系统,编译工具采用myEclipse2019、服务器采用Tomcat9.0、数据库onlineTest采用MySQL8.0,所用工具都是目前最新的,功能强大,结构较复杂,技术难度中等。

2.3.考试系统的功能

2.3.1.功能结构图
在这里插入图片描述
2.3.2.业务流程图
(1)考生考试
在这里插入图片描述
(2)管理员管理信息
在这里插入图片描述

2.4.数据库的设计

2.4.1.数据库
数据库名称:testOnline;

数据库字符集编码:gb2312;
2.4.2.数据表
(1)考生信息表tb_student
| | | | | |
|–|--| |–|--|
| | |

(2)管理员信息表tb_admin

字段 类型与长度 约束 说明
name varchar(10) 允许空 姓名
account varchar(10) 主键 账号
password varchar(20) 不允许空 密码

(3)选择题表tb_choice
字段 类型与长度 约束 说明
titleId varchar(10) 主键 题目序号
titleStem varchar(50) 允许空 选择题题干
optionA varchar(50) 允许空 选项A
optionB varchar(50) 允许空 选项B
optionC varchar(50) 允许空 选项C
optionD varchar(50) 允许空 选项D
answerRight varchar(50) 允许空 正确答案
answerExplain varchar(100) 允许空 答案解释

(4)
填空题表tb_completion
字段 类型与长度 约束 说明
titleId varchar(10) 主键 题目序号
titleStem varchar(50) 允许空 填空题题题干
answerRight varchar(50) 允许空 正确答案
answerExplain varchar(100) 允许空 答案解释

(5)学生成绩表tb_score
字段 类型与长度 约束 说明
account varchar(10) 主键 账号
cho_score float(10) 允许空 选择题分数
com_score float(10) 允许空 填空题分数
tot_score float(20) 允许空 总分

2.5.本章小结
本章首先详细分析了系统的功能、目的以及各种角色的功能,然后又对数据库onlineTest进行了较为详细的介绍,使读者对整个考试系统的结构有了一个全面、详细、清楚的认识,为接下来各个模块代码的实现奠定了较为良好的基础。

第三章 系统详细设计与实现
3.1.视图的设计
3.1.1.注册页面
(1)考生注册页面(registerStu.jsp)

(2)管理员注册页面(registerAdm.jsp)

3.1.2.登录页面
(1)考生登陆(loginStu.jsp)、管理员登陆(loginAdm.jsp)

3.1.3.管理员页面
(1)题库管理 (manageQuestion.jsp)

(2)考生信息管理(manageStudent.jsp)

(3)退出登陆(admQuit.jsp)

3.1.4.学生页面
(1)参加考试(takeTest.jsp)

(2)查看错题(visitWrong.jsp)

(3)查询成绩(queryResult.jsp)

(4)退出登陆(stuQuit.jsp)

3.2.数据模型的设计
3.2.1.角色数据模型
(1)考生数据模型(StuModel.java)

String name;//姓名
String major;//专业
String grade;//班级
String account;//账号
String password;//密码
String backNews=“请输入信息”;//注册反馈
boolean success=false;//布尔值初始为false

(2)管理员数据模型(AdmModel.java)
String name;//姓名
String account;//账号
String password;//密码
String backNews="";//注册反馈
boolean success=false;//布尔值初始为false

(3)登陆数据模型(LoginModel.java)
String account;//账号
String password;//密码
String backNews="";//登陆反馈
boolean success=false;//布尔值初始为false
3.2.2.题型数据模型

(1)选择题数据模型(ChoiceModel.java)
String titleId;//题目序号
String titleStem;//选择题题干
String optionA;//选项A
String optionB;//选项B
String optionC;//选项Java程序设计
String optionD;//选项D
String answerRight;//正确答案
String answerExplain;//答案解释
String backNews="";//注册反馈
boolean success=false;//布尔值初始为false

(2)填空题数据模型(CompletionModel.java)
String titleId;//题目序号
String titleStem;//选择题题干
String answerRight;//正确答案
String answerExplain;//答案解释
String backNews="";//存放反馈信息
boolean success=false;//布尔值初始为false
3.2.3.考试数据模型
(1)成绩数据模型(ScoreModel.java)
Stirng account;//账号
String name;//姓名
String score;//成绩
String backNews="";//存放反馈信息
boolean success=false;//布尔值初始为false

(2)考试信息数据模型(TestBean.java)
String id; //存放考号
String titleId; //存放题号
float score;//存放分数
String questions;//存放题目
int textAmount; //题目数量
String choiceA,choiceB,choiceC,choiceD;//存放选择
String answer; //存放用户给出的答案
String correctAnswer; //存放正确答案
String explainAnswer;//存放答案解释
String mess; //存放提示信息
String backNews; //存放反馈
boolean success=false;//存放布尔值
String [] wrongIitleId=new String[15]; //存放错题题号的数组,长度为定义的考题数量
String [] wrongAnswer=new String[15];//存放考生错误答案的数组,长度为定义的考题数量
int wrongNumber;//存放错题数量
3.3.控制器的设计
3.3.1.实现登陆和退出
(1)实现考生、管理员的注册
(HandleStuRegister.java、HandleAdmRegister.java)

算法设计:
将registerStu.jsp、registerAdm.jsp的表单数据提交给HandleStuRegister.java、HandleAdmRegister.java,连接数据库onlineTestonlineTest,进行处理,把数据存储到数据表tb_student、tb_admin,然后把注册结果反馈到registerStu.jsp、registerAdm.jsp。
核心代码:

(2)实现考生、管理员的登陆
(HandleStuLogin.java、HandleAdmLogin.java)

算法设计:
考生的登陆:将loginStu.jsp的表单数据提交给HandleStuLogin.java,获取表单数据参数,连接数据库onlineTest,判断登陆信息是否填写完整,不完整则通过数据模型LoginModel.java存储反馈信息“请先填写完整登陆信息”,完整则查询数据表tb_student,查询结果放到结果集对象rs里面,利用rs.next()方法判断rs是否为空,不为空则将“登陆成功”、登陆状态布尔值、账号信息存储到数据模型LoginModel.java里面,转发给/stu/indexStu.jsp,为空则将“登陆失败”的原因、登陆状态布尔值、账号信息存储到数据模型LoginModel.java里面,转发给loginStu.jsp。
管理员的登陆:设计思路参考考生的登陆。
核心代码:

(3)实现考生、管理员的退出登陆
(HandleStuExit.java、HandleStuExit.java)
算法设计:
将登陆信息LoginModel.java的javaBean对象存储在Session 对象中,Session 对象存储特定用户会话所需的属性及配置信息,利用session.invalidate()销毁用户的session对象,然后返回主页。
核心代码:

3.3.2.实现信息的管理
(1)题库、考生信息的添加
(AddQuestion.java、AddCompletion.java、AddStuMsg.java)
算法设计:
将从jsp视图页面中用户数据的表单数据,如题干、选项等信息通过post/get的方式提交给java控制器进行处理,在doPost()或者doGet方法中获取参数的数据,从而连接数据库onlineTest,将数据添加到对应的数据表中。
核心代码:

(2)题库、考生信息的删除
(DropQuestion.java、DropCompletion.java、DropStuMsg.java)

算法设计:
用户在jsp视图的表单页面输入“题目序号、考生账号”等信息,以post的方式发送,在java控制器的doPost方法里接收参数,连接数据库onlineTest,根据参数进行查询,将查询结果存储在相应的数据模型javaBean对象中,转发回原来的jsp视图显示出来,在视图页面下方有提示用户是否删除该查询到的数据,点击“确认”即可将删除信息以get的方式发送到相应的控制器,在控制器的doGet()方法中接收参数,连接数据库onlineTest,根据参数的信息进行删除操作。
核心代码:

(3)题库、考生信息的修改
(AlterQuestion.java、AlterCompletion.java、AlterStuMsg.java)
 算法设计:
用户在jsp视图的表单页面输入“题目序号、考生账号”等信息,以post的方式发送,在java控制器的doPost方法里接收参数,连接数据库onlineTest,根据参数进行查询,将查询结果存储在相应的数据模型javaBean对象中,转发回原来的jsp视图显示出来,在视图页面下方有重新修改对应信息的各个选项,点击“确认”即可将修改信息以get的方式发送到相应的控制器,在控制器的doGet()方法中接收参数,连接数据库onlineTest,根据参数的信息进行修改操作。
核心代码:

(4)题库、考生信息的查看
(ShowQuestion.java、ShowCompletion.java、ShowStuMsg.java)
 算法设计:
在相应的jsp视图以程序片的方式嵌入java代码,连接到数据库onlineTest,利用查询语句查询相应的数据表的所有信息,使用out.print()方法在视图显示出来。
核心代码:

(5)考生成绩的查看(showStuSore.jsp)
算法设计:
在相应的jsp视图以程序片的方式嵌入java代码,连接到数据库onlineTest,利用查询语句查询相应的数据表的所有信息,使用out.print()方法在视图显示出来。
核心代码:

3.3.3.实现考生的考试
(1)参加考试(takeTest.jsp)

算法设计:
有两个控制器ReadTestServlet.java和EndTestServlet.java,ReadTestServlet.java负责创建名字是readTestServlet的servlet。 readTestservlet负责从数据库的tb_choice表中读入试题存放到id是 testbean的Javabean数据模型中,然后请求 takeTest.jsp显示 test Bean中的数据。另外, readTestServlet还接收用户提交的答案,并与tb_choice表中的答案进行比较,给出用户的得分。
EndTestServlet.java负责创建名字是endTestServlet的 servlet,用户单击“交卷”按钮,该 servlet负责将用户的名和分数添加到数据库。
核心代码:

(2)查看错题(visitWrong.jsp)
算法设计
考试信息数据模型(TestBean.java)中设置存放错题题号的数组、存放考生错误答案的数组、存放错题数量,在控制器判断ReadTestServlet.java中判断用户输入的答案与标准答案是否一致,不一致则将错题的信息,如题号,答案,数量存放到数据模型TestBean的对象testBean中。在视图visitWrong.jsp中取出testBean的错题信息,展示在页面上。
核心代码:

(3)查询成绩(queryResult.jsp)
算法设计
有两个控制器ReadTestServlet.java和EndTestServlet.java,在查询成绩模块中,控制器ReadTestServlet.java负责使用equals()方法匹配用户输入的答案与标准答案的出入,进行分数的累计,将有关考试信息的数据存入testbean中,控制器EndTestServlet.java负责将用户提交考卷后的考试账号,在连接数据库online的基础上,将testbean有关考试信息的数据取出,存放到数据表tb_score中。
核心代码:

3.4.本章小结
本章主要对在线考试系统的数据模型、视图和控制器进行了详细的介绍。使读者对在线考试系统有了更加深刻的理解。

第四章 系统测试
4.1.测试目的
系统测试的目的是为了发现基于JSP的在线考试系统中存在的毛病,再试图查找原因来解决这些毛病。目的是为了在线考试系统能正常运行的必备手段,系统测试中需要解决的首要问题是为了证明软件能正常使用、考试系统的需求分析是否完整以及考试系统中己经存在的毛病,测试环节能大幅度改善考试系统的品质。然后系统测试需要调试。调试的功能是要确认所编的程序是否有问题,并找出原因,对症下药。最后系统测试需要对考试系统进行可靠性的测试。可靠性是考试系统能正常使用的基础。
4.2.测试的两种方法
4.2.1.黑盒测试法
把基于JSP的在线考试系统视为一个黑匣子,忽略系统的内部一切构造,对其进行功能测验,这种方法只测试考试系统的功能是否满足需求分析和功能模块分析所描述的要求。
4.2.2.白盒测试法
又称结构测试法,是把基于JSP的在线考试系统视为一个白盒子里面的系统换句话说:就是能够知道其中内部的一切结构,白盒测试法依照系统逻辑进行测验,检查系统是否能够按照先前的准则进行正常工作。
4.3.测试实例
4.3.1.系统登录测试
(1)登陆成功

分析:当输入的登陆信息没有错误,即可登陆成功。
(2)登陆失败

分析:当输入的登陆信息有错误,有错误信息提示。
4.3.2.学生模块测试
学生模块测试的步骤:进入系统后,学生模块JSP页面能正常工作,点击链接能正常跳转到对应的JSP页面,然后可以进行在线考试。
表4.2学生模块测试
测试内容 操作步骤
期望结果 测试结果

考试功能测试
点击考试 跳转至试题页面,能进行测试。 跳转至试题页面,能进行测试。
答题完毕,点击
提提交考卷。 反馈信息出现“提交成功” 反馈信息出现“提交成功”
点击“查看错题” 显示出所有的错题信息 显示出所有的错题信息
点击“查看成绩” 显示出本次考试的账号和信息 显示出本次考试的账号和信息
点击“重新考试”
返回“点击考试”页面 返回“点击考试”页面

4.3.3.管理员模块测试
教师模块测试的步骤:进入系统后,管理员模块JSP页面能正常工作,点击链接能正常跳转到对应的JSP页面,试题管理、考生信息管理等功能能正常运行。

(1)试题管理测试
测试内容 操作步骤
期望结果 测试结果

试题管理
功能测试
新增考题 数据表显示新增的考题 数据表显示新增的考题
查找、修改考题 数据表对应的考题修改成功 数据表对应的考题修改成功
查找、删除考题 数据表对应的考题删除成功 数据表对应的考题删除成功
显示所有考题 显示数据表的所有考题 显示数据表的所有考题

(2)考生信息管理
测试内容 操作步骤
期望结果 测试结果

考生信息管理
功能测试
新增考生信息 数据表显示新增的考生信息 数据表显示新增的考生信息
查找、修改考生信息 数据表对应的考生信息修改成功 数据表对应的考生信息修改成功
查找、删除考生信息 数据表对应的考生信息删除成功 数据表对应的考生信息删除成功
显示所有考生信息 显示数据表的所有考生信息 显示数据表的所有考生信息
查看考生考生成绩 显示数据表的已参加考试的考生的成绩信息 显示数据表的已参加考试的考生的成绩信息

4.4.本章小结
本章节讲了系统测验的目标和测试方法及本系统的主要模块测试实例,从系统测验后的报告能分析出来在线考试系统可以正常使用,但是这也并不能说明考试系统是完美而没有毛病的。对考试系统进行测试,让我有了更多的软件调试经验,对在线考试系统有了更加清楚的认识,编程能力也有了很大的提高。

第五章 总结与展望
5.1.总结
通过本次课程设计,我掌握了很多专业知识和编程知识,包括Java编程语言,JSP编程语言,JavaBean,Servlet,Tomcat服务器,myeclipse开发环境,MySQL数据库等,同时也积累了我许许多多的软件设计经验,对我的研究方向有了很深刻的理解,并在实际的操作过程中懂得怎样将它们发挥在实例之中,开发功能非常完善的在线考试系统。
在实践中,我学习到了基于JSP在线考试系统的核心思想及研发的完整流程。设计之前对系统需要实现哪些功能必须进行详细的需求分析以及系统有哪几个角色进行划分,考试系统有几个模块,考试系统的每个功能怎样去设计才能更好;需求分析之后,需要用到计算机的编程知识,从上到下,把问题逐渐细化,为实现每个模块奠定了良好的基础。

5.2.展望
在线考试系统未来的研究方向必然具有智能化特点。主要有以下四点特点:
1)智能化考试系统根据算法,结合试卷难度以及区分度,实现抽题组卷。
2)由专家统对学生试卷进行自动评判,实现智能化评卷。
3)智能化考试系统从考试结果中挖掘出信息并进行智能化分析,为教师提供有用信息。
4)考试系统中实现模拟真实的考试环境以及操作过程。

参考文献
[1]耿祥义,张跃平.JSP使用教程(第三版)[M].北京:清华大学出版社,2015.01.
[2]何元清,魏哲. MySQL 数据库程序设计[M].北京:中国铁道出版社, 2018.01.
[3]耿祥义. Java大学实用教程(第4版)[M]. 北京:电子工业出版社, 2017.03.
[4]天津滨海迅腾科技集团有限公司. 基于MVC的Java Web项目实战[M].天津:南开大学出版社, 2017.01.

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/sc_942344134/article/details/103291023

智能推荐

scrapy_当你准备启动一个项目时,可以从这个教程开始-程序员宅基地

文章浏览阅读446次。scrapyScrapy,Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等,最新版本又提供了web2.0爬虫的支持。_当你准备启动一个项目时,可以从这个教程开始

树莓派中SIM7600G-H 4G DONGLE模块使用记录(二)使用花生壳服务器实现数据的远程传输_树莓派有sim卡模块吗-程序员宅基地

文章浏览阅读4.7k次,点赞11次,收藏18次。项目场景:在之前对树莓派进行PPP拨号上网/4G上网后,需要对树莓派中采集到的数据远程上传,并能接收云端软件下达的指令。然而在实现过程中,我们并不能够直接通过ITCP/IP通信实现数据的远程传输,还需要一个服务器作为中间桥梁,将云端主机的IP端口映射在全网上,这样树莓派才能通过映射后的IP地址与云端主机建立连接,实现数据的远程传输。花生壳花生壳是一款能够免费进行内网穿透与端口映射的服务器工具,可以在官网上直接搜索无需配置。支持多种通信格式,这里我们使用TCP通信类型。网络调试助手由于项目主体_树莓派有sim卡模块吗

先是IPV6,再是WI-FI7你都清楚这是什么吗?_ipv6和wifi6有什么区别-程序员宅基地

文章浏览阅读825次。先是IPV6,再是WI-FI7你都清楚这是什么吗?_ipv6和wifi6有什么区别

【SSM学习】6、Mybatis 动态sql语句实例详解_"<update id=\"updateworkstatebyid\"> update employ-程序员宅基地

文章浏览阅读1.9k次。首先我们给出一个Mapper配置文件,用于参照使用,下面给出详细介绍&amp;amp;amp;amp;amp;lt;?xml version=&amp;amp;amp;amp;quot;1.0&amp;amp;amp;amp;quot; encoding=&amp;amp;amp;amp;quot;UTF-8&amp;amp;amp;amp;quot; ?&amp;amp;amp;amp;amp;gt;&amp;amp;amp;amp;amp;l_" update employee set

Python爬虫神器pyppeteer-程序员宅基地

文章浏览阅读1.7w次,点赞18次,收藏119次。Puppeteer 是 Google 基于 Node.js 开发的工具,调用 Chrome 的 API,通过 JavaScript 代码来操纵 Chrome 完成一些操作,用于网络爬虫、Web 程序自动测试等。pyppeteer 是非官方 Python 版本的 Puppeteer 库。_pyppeteer

随便推点

中科大计算机与技术学院报录比,报录比49:1!院校专业对比!盘点那些堪称“卷中之王”的专业!...-程序员宅基地

文章浏览阅读1.6k次。原标题:报录比49:1!院校专业对比!盘点那些堪称“卷中之王”的专业!院校报录比更新这两天好多院校都开始陆续公布20年报录比相关数据,真是不看不知道,一看吓一跳,1615人报名,录取33人,报录比50:1,堪称内卷王中王,小黑看到只想大喊一声“快逃!”。今天我们就来盘点一下近两年内卷到飞起的专业和院校,给大家排排雷! 新传新传的“卷”已经和学校没有什么关系了,是的,我不针对哪个学校,我说的是所有学..._中科大计算机考研学硕 报录比

0x000000ea(0x000000ea蓝屏代码是什么意思)-程序员宅基地

文章浏览阅读2.1k次。蓝屏错误代码0X000000EA(0X85AFDDA0,OX89?0x000000EA错误表示显示驱动程序遇到了问题。这个错误一般是因为显卡或显示器的驱动程序存在BUG或安装不正确引起的。 如果遇到0x000000EA错误,建议在Windows中重新安装显卡及显示器驱动程序,看看问题能否解决;如果故障依旧,请使用“替换..._0x000000ea

【Office】解决Excel关闭Personal工作簿导致宏不见的情况_个人宏工作簿不见了-程序员宅基地

文章浏览阅读1w次。问题:Excel想要编辑或者删除宏,都要先取消隐藏这个PERSONAL的工作簿今天取消隐藏之后,顺手就关掉了,然后就发现自己保存的宏不见了解决:找出文件PERSONAL.XLSB并重新打开即可解决过程:在网上找了一番,大概是因为我把宏保存到个人工作簿中(就是PERSONAL.XLSB)然后,实际上,我们打开Excel的时候也会同时在隐藏中打开PERSONAL.XLSB和..._个人宏工作簿不见了

FPGADesigner《FPGA数字信号处理系列》目录与传送门_使用matlab与fpga实现2ask的调制与解调-程序员宅基地

文章浏览阅读1.8w次,点赞57次,收藏364次。本系列介绍Alter/Xilinx FPGA中各种数字信号处理算法的实现,学习各种DSP IP核的使用方法,以及DSP算法的设计思路和关键问题。_使用matlab与fpga实现2ask的调制与解调

队列(2)----用数组实现队列_面试题:请用数组实现一个队列-程序员宅基地

文章浏览阅读816次。1、定义typedef struct QueElement_t_ { void *data;} QueElement_t;typedef struct Que_t_{ int size; int capacity; int head; int tail; int (*destroy)(void *data ); QueElement_面试题:请用数组实现一个队列

matlab fft 函数 全面详解 横坐标定标 幅度恢复等_matlab fft 幅值单位-程序员宅基地

文章浏览阅读2.2k次。相关解释都在注释里了,写的很详细。% matlab version 2020b% time 20211108% zzx fft for newer%%clc;clear;close all;%% 以下步骤是循序渐进的,是按照推理过程编写的:% -----------------step1 确定信号幅度A1=7;A2=3; % -----------------step2 确定信号的频率f0=20;%单位:Hz or kHz or其他,这个不影响,为了描述方便,后续都不再带单位。f_matlab fft 幅值单位

推荐文章

热门文章

相关标签