- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
092086124彭强强--MATLAB课程设计
太原工业学院
MATLAB课程设计
班级学号 092086124 姓 名 彭强强
成 绩 指导老师 李 莉
一、实践课程题目:
一金属片的初始温度为,其内部以的功率电加热,温度方程为:
其中温度单位为Kelvin,并有:
(热传导率)
(Stefan-Boltzmann常数)
(表面积)
(体积)
(质量热容)
(密度)
(热交换系数)
(发射率)
用四阶龙格-库塔方法求解上的温度,取,作出图形,并给出相应的Matlab程序。
二、实践的目的和要求:
1. MATLAB软件功能简介
MATLAB的名称源自Matrix Laboratory,1984年由美国Mathworks公司推向市场。它是一种科学计算软件,专门以矩阵的形式处理数据。MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛的应用于科学计算、控制系统和信息处理等领域的分析、仿真和设计工作。
MATLAB软件包括五大通用功能,数值计算功能(Nemeric)Symbolic)、数据可视化功能(Graphic)Notebook)和建模仿真可视化功能(Simulink)MAPLE内核计算并将结果返回到MATLAB命令窗口。该软件有三大特点,一是功能强大;二是界面友善、语言自然;三是开放性强。目前,Mathworks公司已推出30多个应用工具箱。MATLAB在线性代数、矩阵分析、数值及优化、数值统计和随机信号分析、电路与系统、系统动力学、次那好和图像处理、控制理论分析和系统设计、过程控制、建模和仿真、通信系统以及财政金融等众多领域的理论研究和工程设计中得到了广泛应用。
MATLAB在信号与系统中的应用主要包括符号运算和数值计算仿真分析。由于信号与系统课程的许多内容都是基于公式演算,而MATLAB借助符号数学工具箱提供的符号运算功能,能基本满足信号与系统课程的需求。例如解微分方程、傅里叶正反变换、拉普拉斯正反变换和z正反变换等。MATLAB在信号与系统中的另一主要应用是数值计算与仿真分析,主要包括函数波形绘制、函数运算、冲击响应与阶跃响应仿真分析、信号的时域分析、信号的频谱分析、系统的S域分析和零极点图绘制等内容。数值计算仿真分析可以帮助学生更深入地理解理论知识,并为将来使用MATLAB进行信号处理领域的各种分析和实际应用打下基础。
2. 本题目的意义
本次课程设计的课题为《基于MATLAB的语音信号采集与处理》,学会运用MATLAB的信号处理功能,采集语音信号,并对语音信号进行滤波及变换处理,观察其时域和频域特性,加深对信号处理理论的理解,并为今后熟练使用MATLAB进行系统的分析仿真和设计奠定基础。
此次实习课程主要是为了进一步熟悉对matlab软件的使用,以及学会利用matlab对声音信号这种实际问题进行处理,将理论应用于实际,加深对它的理解。
三、实践原理:
1、基本原理:
龙格-库塔(Runge-Kutta)方法是一种在工程上应用广泛的高精度单步算法。由于此算法精度高,采取措施对误差进行抑制,所以其实现原理也较复杂。该算法是构建在数学支持的基础之上的。龙格-库塔(Runge-Kutta,称之为预测值,预测值的精度可能很差,再利用梯形公式()将它校正一次,即按梯形法的迭代公式迭代一次得,这个结果称校正值,这样可以得到统称为改进的欧拉公式:
为预测, (2)为校正。
当用点处的斜率近似值与右端点处的斜率的算术平均值作为平均斜率的近似值,那么就会得到二阶精度的改进欧拉公式:
依次类推,如果在区间内多预估几个点上的斜率值,并用他们的加权平均数作为平均斜率的近似值,显然能构造出具有很高精度的高阶计算公式。经数学推导、求解,可以得出四阶龙格-库塔公式,也就是在工程中应用广泛的经典龙格-库塔算法:
四、实践步骤:
1、分析题意,编写程序如下:
定义个函数并将其命名为:ymz.m
function f=f_x10(T)
f=(3000-0.8*5.67*(10^-8)*0.25*(T^4-289^4)-30*0.25*(T-298))/(0.001*3000*900);
将上述程序保存在一m文件中,在matlab命令窗口中输入以下程序:
T=298;h=0.1*60;n=0;t=0;
T_rec(1)=T;t_rec(1)=0;
while t600
n=n+1;k1=h*f_x10(T);
k2=h*f_x10(T+k1/2);
k3=h*f_x10(T+k2/2);
k4=h*f_x10(T+k3);
T=T+1/6*(k1+2*k2+2*k3+k
文档评论(0)