MATLAB实验设计报告
- 格式:doc
- 大小:31.50 KB
- 文档页数:3
前言 (3)一.课程设计题目及要求 (4)1.1 课程设计的目的 (4)1.2课程设计内容及要求 (4)二.设计具体实现 (6)2.1 设计思想 (6)2.2 系统功能结构 (6)3.关键部分详细描述和介绍 (7)3.1 信号产生函数 (7)3.2 幅频分析函数 (8)3.3 相频分析函数 (8)3.4 切比雪夫高通滤波函数 (10)3.5 窗函数法高通滤波函数 (11)3.6 输出信号分析函数 (12)四. 心得体会 (13)参考文献 (14)源程序 (15)数字信号处理课程设计与《数字信号处理》课程配套,是电子通信工程专业的重要实践环节。
数字信号处理是每一个电子信息科学工作者必须掌握的重要知识。
数字信号处理是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、抽样、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。
它在语音、雷达、图像、系统控制、通信、航空航天、生物医学等众多领域都获得了极其广泛的应用。
具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等优点。
数字滤波器, 是数字信号处理中及其重要的一部分。
随着信息时代和数字技术的发展,受到人们越来越多的重视。
数字滤波器可以通过数值运算实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能。
数字滤波器种类很多,根据其实现的网络结构或者其冲激响应函数的时域特性,可分为两种,即有限冲激响应( FIR,Finite Impulse Response)滤波器和无限冲激响应( IIR,Infinite Impulse Response)滤波器。
FIR滤波器结构上主要是非递归结构,没有输出到输入的反馈,系统函数H (z)在处收敛,极点全部在z = 0处(因果系统),因而只能用较高的阶数达到高的选择性。
FIR数字滤波器的幅频特性精度较之于IIR数字滤波器低,但是线性相位,就是不同频率分量的信号经过fir滤波器后他们的时间差不变,这是很好的性质。
程序设计实验报告(matlab)实验一: 程序设计基础实验目的:初步掌握机器人编程语言Matlab。
实验内容:运用Matlab进行简单的程序设计。
实验方法:基于Matlab环境下的简单程序设计。
实验结果:成功掌握简单的程序设计和Matlab基本编程语法。
实验二:多项式拟合与插值实验目的:学习多项式拟合和插值的方法,并能进行相关计算。
实验内容:在Matlab环境下进行多项式拟合和插值的计算。
实验方法:结合Matlab的插值工具箱,进行相关的计算。
实验结果:深入理解多项式拟合和插值的实现原理,成功掌握Matlab的插值工具箱。
实验三:最小二乘法实验目的:了解最小二乘法的基本原理和算法,并能够通过Matlab进行计算。
实验内容:利用Matlab进行最小二乘法计算。
实验方法:基于Matlab的线性代数计算库,进行最小二乘法的计算。
实验结果:成功掌握最小二乘法的计算方法,并了解其在实际应用中的作用。
实验六:常微分方程实验目的:了解ODE的基本概念和解法,并通过Matlab进行计算。
实验内容:利用Matlab求解ODE的一阶微分方程组、变系数ODE、高阶ODE等问题。
实验方法:基于Matlab的ODE工具箱,进行ODE求解。
实验结果:深入理解ODE的基本概念和解法,掌握多种ODE求解方法,熟练掌握Matlab的ODE求解工具箱的使用方法。
总结在Matlab环境下进行程序设计实验,使我对Matlab有了更深刻的认识和了解,也使我对计算机科学在实践中的应用有了更加深入的了解。
通过这些实验的学习,我能够灵活应用Matlab进行各种计算和数值分析,同时也能够深入理解相关的数学原理和算法。
这些知识和技能对我未来的学习和工作都将有着重要的帮助。
通信原理实验报告一、实验名称MATLAB验证低通抽样定理二、实验目的1、掌握抽样定理的工作原理。
2、通过MATLAB编程实现对抽样定理的验证,加深抽样定理的理解。
同时训练应用计算机分析问题的能力。
3、了解MATLAB软件,学习应用MATLAB软件的仿真技术。
它主要侧重于某些理论知识的灵活运用,以及一些关键命令的掌握,理解,分析等。
4、计算在临界采样、过采样、欠采样三种不同条件下恢复信号的误差,并由此总结采样频率对信号恢复产生误差的影响,从而验证时域采样定理。
三、实验步骤及原理1、对连续信号进行等间隔采样形成采样信号,采样信号的频谱是原连续信号的频谱以采样频率为周期进行周期性的延拓形成的。
2、设连续信号的的最高频率为Fmax,如果采样频率Fs>2Fmax,那么采样信号可以唯一的恢复出原连续信号,否则Fs<=2Fmax会造成采样信号中的频谱混叠现象,不可能无失真地恢复原连续信号。
四、实验内容1、画出连续时间信号的时域波形及其幅频特性曲线,信号为x=cos(4*pi*t)+1.5*sin(6*pi*t)+0.5*cos(20*pi*t)2、对信号进行采样,得到采样序列,画出采样频率分别为10Hz,20 Hz,50 Hz时的采样序列波形;3、对不同采样频率下的采样序列进行频谱分析,绘制其幅频曲线,对比各频率下采样序列和的幅频曲线有无差别。
4、对信号进行谱分析,观察与3中结果有无差别。
5、由采样序列恢复出连续时间信号,画出其时域波形,对比与原连续时间信号的时域波形。
五、实验仿真图(1) x=cos(4*pi*t)+1.5*sin(6*pi*t)+0.5*cos(20*pi*t)的时域波形及幅频特性曲线。
clear;close all;dt=0.05;t=-2:dt:2x=cos(4*pi*t)+1.5*sin(6*pi*t)+0.5*cos(20*pi*t);N=length(t);Y=fft(x)/N*2;fs=1/dt;df=fs/(N-1);f=(0:N-1)*df;plot(t,x)title('抽样时域波形')xlabel('t')grid;subplot(2,1,2)plot(f,abs(Y));title('抽样频域信号 |Y|');xlabel('f');grid;(2)采样频率分别为10Hz时的采样序列波形, 幅频特性曲线,以及由采样序列恢复出连续时间信号时域、频域波形;clear;close all;dt=0.1;t0=-2:0.01:2t=-2:dt:2ts1=0.01x0=cos(4*pi*t0)+1.5*sin(6*pi*t0)+0.5*cos(20*pi*t0);x=cos(4*pi*t)+1.5*sin(6*pi*t)+0.5*cos(20*pi*t);B=length(t0);Y2=fft(x0)/B*2;fs2=1/0.01;df2=fs2/(B-1);f2=(0:B-1)*df2;N=length(t);Y=fft(x)/N*2;fs=1/dt;df=fs/(N-1);f=(0:N-1)*df;tm=-50:ts1:50gt=sinc(fs*tm)st=sigexpand(x,dt/ts1)x3=conv(st,gt)A=length(tm(5001:5401));Y1=fft(x3(5001:5401))/A*2;fs1=1/ts1;df1=fs1/(A-1);f1=(0:A-1)*df1;subplot(3,2,1)plot(t0,x0)title('原始时域波形')xlabel('t')subplot(3,2,2)title('原始频域波形')xlabel('t')subplot(3,2,3)plot(t,x)title('抽样时域波形')xlabel('t')grid;subplot(3,2,4)plot(f,abs(Y));title('抽样频域信号 |Y|');xlabel('f');subplot(3,2,5)plot(t0,x3(5001:5401))title('恢复后的信号');xlabel('tm')subplot(3,2,6)plot(f1,abs(Y1));title('恢复频域信号 |Y1|');xlabel('f1');grid;(3)采样频率分别为20 Hz时的采样序列波形,幅频特性曲线,以及由采样序列恢复出连续时间信号时域、频域波形;clear;close all;dt=0.05;t0=-2:0.01:2t=-2:dt:2ts1=0.01x0=cos(4*pi*t0)+1.5*sin(6*pi*t0)+0.5*cos(20*pi*t0); x=cos(4*pi*t)+1.5*sin(6*pi*t)+0.5*cos(20*pi*t);B=length(t0);Y2=fft(x0)/B*2;fs2=1/0.01;df2=fs2/(B-1);f2=(0:B-1)*df2;N=length(t);Y=fft(x)/N*2;fs=1/dt;df=fs/(N-1);f=(0:N-1)*df;tm=-50:ts1:50gt=sinc(fs*tm)st=sigexpand(x,dt/ts1)x3=conv(st,gt)A=length(tm(5001:5401));Y1=fft(x3(5001:5401))/A*2;fs1=1/ts1;df1=fs1/(A-1);f1=(0:A-1)*df1;subplot(3,2,1)plot(t0,x0)title('原始时域波形')xlabel('t')subplot(3,2,2)plot(f2,abs(Y2))title('原始频域波形')xlabel('t')subplot(3,2,3)plot(t,x)title('抽样时域波形')xlabel('t')grid;subplot(3,2,4)plot(f,abs(Y));title('抽样频域信号 |Y|');xlabel('f');subplot(3,2,5)plot(t0,x3(5001:5401))title('恢复后的信号');xlabel('tm')subplot(3,2,6)plot(f1,abs(Y1));title('恢复频域信号 |Y1|');xlabel('f1');grid;(4)采样频率分别为50 Hz时的采样序列波形,幅频特性曲线,以及由采样序列恢复出连续时间信号时域、频域波形;;clear;close all;dt=0.02;t0=-2:0.01:2t=-2:dt:2ts1=0.01x0=cos(4*pi*t0)+1.5*sin(6*pi*t0)+0.5*cos(20*pi*t0);x=cos(4*pi*t)+1.5*sin(6*pi*t)+0.5*cos(20*pi*t);B=length(t0);Y2=fft(x0)/B*2;fs2=1/0.01;df2=fs2/(B-1);f2=(0:B-1)*df2;N=length(t);Y=fft(x)/N*2;fs=1/dt;df=fs/(N-1);f=(0:N-1)*df;tm=-50:ts1:50gt=sinc(fs*tm)st=sigexpand(x,dt/ts1)x3=conv(st,gt)A=length(tm(5001:5401));Y1=fft(x3(5001:5401))/A*2; fs1=1/ts1;df1=fs1/(A-1);f1=(0:A-1)*df1;subplot(3,2,1)plot(t0,x0)title('原始时域波形') xlabel('t')subplot(3,2,2)plot(f2,abs(Y2))title('原始频域波形') xlabel('t')subplot(3,2,3)plot(t,x)title('抽样时域波形') xlabel('t')grid;subplot(3,2,4)plot(f,abs(Y));title('抽样频域信号 |Y|'); xlabel('f');subplot(3,2,5)plot(t0,x3(5001:5401)) title('恢复后的信号'); xlabel('tm')subplot(3,2,6)plot(f1,abs(Y1));title('恢复频域信号 |Y1|'); xlabel('f1');grid;六、实验结论实验中对模拟信号进行采样,需要根据最高截止频率Fmax,按照采样定理的要求选择采样频率的两倍,即 Fs>2Fmax。
matlab程序设计实验报告《MATLAB程序设计实验报告》摘要:本实验报告旨在介绍MATLAB程序设计的基本原理和实践操作,通过实验演示和分析,展示了MATLAB在工程领域的应用和重要性。
本报告详细介绍了MATLAB程序设计的基本语法和常用函数,以及如何利用MATLAB进行数据处理、图像处理、信号处理等工程应用。
通过本报告的学习,读者将能够掌握MATLAB程序设计的基本技能,为工程实践提供有力的支持。
1. 引言MATLAB是一种用于算法开发、数据可视化、数据分析和数值计算的高级技术计算语言和交互式环境。
它具有强大的数学计算功能和丰富的绘图工具,广泛应用于工程、科学和金融等领域。
本实验报告将介绍MATLAB程序设计的基本原理和实践操作,帮助读者快速掌握MATLAB的基本技能。
2. 实验目的本实验的主要目的是让读者了解MATLAB程序设计的基本语法和常用函数,掌握MATLAB在工程领域的应用和重要性。
通过实验演示和分析,展示MATLAB 在数据处理、图像处理、信号处理等方面的应用。
3. 实验内容(1)MATLAB程序设计的基本语法和常用函数(2)利用MATLAB进行数据处理的实验演示(3)利用MATLAB进行图像处理的实验演示(4)利用MATLAB进行信号处理的实验演示4. 实验步骤(1)学习MATLAB程序设计的基本语法和常用函数(2)编写MATLAB程序,实现数据处理、图像处理、信号处理等功能(3)进行实验演示和分析,展示MATLAB在工程领域的应用和重要性5. 实验结果与分析通过本实验的学习,读者将能够掌握MATLAB程序设计的基本技能,包括数据处理、图像处理、信号处理等方面的应用。
通过实验演示和分析,读者将了解MATLAB在工程领域的重要性,为工程实践提供有力的支持。
6. 结论MATLAB程序设计是一种强大的工程工具,具有广泛的应用前景。
通过本实验报告的学习,读者将能够掌握MATLAB程序设计的基本技能,为工程实践提供有力的支持。
西南石油大学实验报告一实验目的:1学习用Matlab直接设计模拟滤波器和数字滤波器。
2学习用冲激响应不变法和双线性变换法的Matlab的实现。
二实验内容:设计满足下列指标的数字低通滤波器:Wp=0.2*pi, Rp=1db Ws=0.5*pi Rs=20db Fs=1khz1.利用B、C1型设计出模拟低通滤波器,采用冲激响应不变法、双线性发转换成数字低通滤波器。
2.直接设计出B、C1型数字低通滤波器。
三实验步骤:程序1Wp=2*pi*0.1*1000;Ws=2*pi*0.25*1000;Rp=1;Rs=20;[N,Wn]=buttord(Wp,Ws,Rp,Rs,'s');[z,p,k]=buttap(N);[B,A]=butter(N,Wn,'s');freq1=linspace(0,Wp,5);freq2=linspace(Wp,Ws,15);freq3=linspace(Ws,10*pi*2,25);h1=20*log10(abs(freqs(B,A,freq1)));h2=20*log10(abs(freqs(B,A,freq2)));h3=20*log10(abs(freqs(B,A,freq3)));plot([freq1 freq2 freq3]/(2*pi),[h1,h2,h3]);grid;Xlabel('Frequency in Hz');Ylabel('gain in DB');图一程序2wp=0.2*pi;ws=0.5*pi;rp=1;rs=20;fs=1000;omegap=wp*fs;omegas=ws*fs;[N,Wn]=buttord(omegap,omegas,rp,rs,'s');[B A]=butter(N,Wn,'s');[b,a]=impinvar(B,A,fs);[h,w]=freqz(b,a,256);h=20*log10(abs(h));plot(w/pi,h);图二程序3wp=0.2*pi;ws=0.5*pi;rp=1;rs=20;fs=1000;omegap=2*fs*tan(wp/2);omegas=2*fs*tan(ws/2);[N,Wn]=cheb1ord(omegap,omegas,rp,rs,'s');[B A]=cheby1(N,rp,Wn,'s');[b,a]=bilinear(B,A,fs);[h,w]=freqz(b,a,256);h=20*log10(abs(h));plot(w/pi,h);图三程序4wp=0.2*pi;ws=0.5*pi;rp=1;rs=20;[N,Wn]=buttord(wp/pi,ws/pi,rp,rs);[B A]=butter(N,Wn);[h,w]=freqz(B,A,256);h=20*log10(abs(h));plot(w/pi,h);图四程序5Wp=0.2*pi;Ws=0.5*pi;Rp=1;Rs=20;T=0.001;Fs=1000;omegap=(2/T)*tan(Wp/2);omegas=(2/T)*tan(Ws/2);[N,Wn]=cheb1ord(omegap,omegas,Rp,Rs,'s'); [B,A]=cheby1(N,Rp,Wn,'s');[b,a]=bilinear(B,A,Fs);[h,w]=freqz(b,a,256);h1=20*log10(abs(h));plot(w/pi,h1);grid;xlabel('Digital Frequency in pi units'); ylabel('Gain in DB');axis([0 1 -50 10]);图五Wp=0.2;Ws=0.5;Rp=1;Rs=20;disp('ÇбÈÑ©·òIÐÍ')[N,Wn]=cheb1ord(Wp,Ws,Rp,Rs)[B,A]=cheby1(N,Rp,Wn);disp('ÇбÈÑ©·òÐÍ·Ö×Ó¶àÏîʽ');fprintf('%.4e\n',B);disp('ÇбÈÑ©·ò·Öĸ¶àÏîʽ');fprintf('%.4e\n',A);w=linspace(0,0.8*pi,50);h1=20*log10(abs(freqz(B,A,w)));plot(w/pi,h1);grid;xlabel('Normalized frequency');ylabel('Gain in DB ');axis([0 0.8 -50 1]);图六四、实验小结通过本次实验,对MA TLAB软件有了进一步的了解,也在不断的实践中,更多的熟悉了MATLAB的编程,在编程方面一点点的有了进步。
《数字图像处理》实验报告学院:专业:班级:姓名:学号:实验一实验名称:图像增强实验目的:1.熟悉图像在Matlab下的读入,输出及显示;2.熟悉直方图均衡化;3.熟悉图像的线性指数等;4.熟悉图像的算术运算及几何变换.实验仪器:计算机,Matlab软件实验原理:图像增强是为了使受到噪声等污染图像在视觉感知或某种准则下尽量的恢复到原始图像的水平之外,还需要有目的性地加强图像中的某些信息而抑制另一些信息,以便更好地利用图像。
图像增强分频域处理和空间域处理,这里主要用空间域的方法进行增强。
空间域的增强主要有:灰度变换和图像的空间滤波。
图像的直方图实际上就是图像的各像素点强度概率密度分布图,是一幅图像所有像素集合的最基本统计规律,均衡化是指在每个灰度级上都有相同的像素点过程。
实验内容如下:I=imread('E:\cs.jpg');%读取图像subplot(2,2,1),imshow(I),title('源图像')J=rgb2gray(I)%灰度处理subplot(2,2,2),imshow(J) %输出图像title('灰度图像') %在原始图像中加标题subplot(2,2,3),imhist(J) %输出原图直方图title('原始图像直方图')0100200几何运算:I=imread('E:\cs.jpg');%subplot(1,2,1),imshow(I); theta = 30;K = imrotate(I,theta); subplot(1,2,2),imshow(K)对数运算:I=imread('E:\dog.jpg');subplot(2,2,1),imshow(I),title('源图像') J=rgb2gray(I)%灰度处理subplot(2,2,2),imshow(J),title('灰度变换后图像') J1=log(1+double(J));subplot(2,2,3),imshow(J1,[]),title('对数变换后') 指数运算:I=imread('E:\dog.jpg'); f=double(I); g=(2^2*(f-1))-1 f=uint8(f); g=uint8(g);subplot(1,2,1);subimage(f),title('变换一') subplot(1,2,2);subimage(g),title('变换二')加法运算:clc;clear all;close all; i = imread('E:\dog.jpg');j = imnoise(i,'gaussian',0,0.02);subplot(1,3,1),imshow(i),title('图一') subplot(1,3,2),imshow(j),title('图二') k=zeros(242,308); for p=1:100j = imnoise(i,'gaussian',0,0.02); j1 = im2double(j); k = k + j1; end k=k/100;subplot(1,3,3),imshow(k),title('图三')变换一200400600100200300400500变换二200400600100200300400500实验二实验名称:图像变换实验目的:(1)进一步对matlab的了解和使用;(2)学习如何在matlab中对数字图像的处理;实验原理:图像和其他信号一样,既能在空间域处理,也能在频率域处理。
兰州理工大学《自动控制原理》MATLAB分析与设计仿真实验报告院系:电气工程与信息工程学院班级:电气工程及其自动化四班姓名:学号:时间:年月日电气工程与信息工程学院《自动控制原理》MATLAB 分析与设计仿真实验任务书(2014) 一、仿真实验内容及要求 1.MATLAB 软件要求学生通过课余时间自学掌握MATLAB 软件的基本数值运算、基本符号运算、基本程序设计方法及常用的图形命令操作;熟悉MATLAB 仿真集成环境Simulink 的使用。
2.各章节实验内容及要求1)第三章 线性系统的时域分析法∙ 对教材第三章习题3-5系统进行动态性能仿真,并与忽略闭环零点的系统动态性能进行比较,分析仿真结果;∙ 对教材第三章习题3-9系统的动态性能及稳态性能通过仿真进行分析,说明不同控制器的作用;∙ 在MATLAB 环境下选择完成教材第三章习题3-30,并对结果进行分析; ∙ 在MATLAB 环境下完成英文讲义P153.E3.3;∙ 对英文讲义中的循序渐进实例“Disk Drive Read System”,在100=a K 时,试采用微分反馈控制方法,并通过控制器参数的优化,使系统性能满足%5%,σ<3250,510s ss t ms d -≤<⨯等指标。
2)第四章 线性系统的根轨迹法∙ 在MATLAB 环境下完成英文讲义P157.E4.5; ∙ 利用MATLAB 绘制教材第四章习题4-5;∙ 在MATLAB 环境下选择完成教材第四章习题4-10及4-17,并对结果进行分析;∙ 在MATLAB 环境下选择完成教材第四章习题4-23,并对结果进行分析。
3)第五章 线性系统的频域分析法∙ 利用MATLAB 绘制本章作业中任意2个习题的频域特性曲线;4)第六章 线性系统的校正∙ 利用MATLAB 选择设计本章作业中至少2个习题的控制器,并利用系统的单位阶跃响应说明所设计控制器的功能;∙ 利用MATLAB 完成教材第六章习题6-22控制器的设计及验证;∙ 对英文讲义中的循序渐进实例“Disk Drive Read System”,试采用PD控制并优化控制器参数,使系统性能满足给定的设计指标ms t s 150%,5%<<σ。
实验七Matlab程序设计实验目得:1、掌握建立与执行M文件得方法;2、掌握实现选择结构得方法;3、掌握实现循环结构得方法.实验内容:1.编写用5次多项式拟合函数y=sin(x),x∈[0,2π]得脚本M文件,要求绘图观察拟合得效果。
function shiyan1x=0:0、5:2*piy=sin(x)p=polyfit(x,y,5)x1=0:0、2:2*piy1=polyval(p,x1)plot(x,y,’b’,x1,y1,’*r’x =Columns 1 through 900、5000 1、0000 1、50002、00002、5000 3、00003、50004、0000Columns10through134、5000 5、0000 5、5000 6、0000y=Columns 1 through 90 0、4794 0、8415 0、9975 0、9093 0、59850、1411-0、3508-0、7568Columns10through13-0、9775—0、9589-0、7055—0、2794p =-0、0056 0、0881-0、39670、2671 0、8902 0、0029x1=Columns 1through 100 0、2000 0、4000 0、6000 0、8000 1、0000 1、20001、4000 1、60001、8000Columns 11through 202、0000 2、20002、40002、60002、80003、0000 3、2000 3、4000 3、6000 3、8000Columns 21 through 304、0000 4、2000 4、4000 4、60004、80005、00005、2000 5、4000 5、60005、8000Columns31through 326、0000 6、2000y1=Columns 1through 100、00290、1886 0、37860、5585 0、7172 0、84610、93910、9926 1、0048 0、9761Columns11 through200、9083 0、8048 0、6701 0、5098 0、33010、1381 -0、0590-0、2538-0、4389 —0、6073Columns 21 through30—0、7524-0、8685-0、9505-0、9949 -0、9991 -0、9626—0、8863—0、7732 -0、6288—0、4606Columns 31through32—0、2792 -0、09782、从键盘输入一个4位整数,按如下规则加密后输出。
实验二 MATLAB 程序设计一、 实验目的1.掌握利用if 语句实现选择结构的方法。
2.掌握利用switch 语句实现多分支选择结构的方法。
3.掌握利用for 语句实现循环结构的方法。
4.掌握利用while 语句实现循环结构的方法。
5.掌握MATLAB 函数的编写及调试方法。
二、 实验的设备及条件计算机一台(带有MATLAB7.0以上的软件环境)。
M 文件的编写:启动MATLAB 后,点击File|New|M-File ,启动MATLAB 的程序编辑及调试器(Editor/Debugger ),编辑以下程序,点击File|Save 保存程序,注意文件名最好用英文字符。
点击Debug|Run 运行程序,在命令窗口查看运行结果,程序如有错误则改正三、 实验内容1.编写求解方程02=++c bx ax 的根的函数(这个方程不一定为一元二次方程,因c b a 、、的不同取值而定),这里应根据c b a 、、的不同取值分别处理,有输入参数提示,当0~,0,0===c b a 时应提示“为恒不等式!”。
并输入几组典型值加以检验。
(提示:提示输入使用input 函数)2.输入一个百分制成绩,要求输出成绩等级A+、A 、B 、C 、D 、E 。
其中100分为A+,90分~99分为A ,80分~89分为B ,70分~79分为C ,60分~69分为D ,60分以下为E 。
要求:(1)用switch 语句实现。
(2)输入百分制成绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。
(提示:注意单元矩阵的用法)3.数论中一个有趣的题目:任意一个正整数,若为偶数,则用2除之,若为奇数,则与3相乘再加上1。
重复此过程,最终得到的结果为1。
如:2?13?10?5?16?8?4?2?16?3?10?5?16?8?4?2?1运行下面的程序,按程序提示输入n=1,2,3,5,7等数来验证这一结论。
请为关键的Matlab 语句填写上相关注释,说明其含义或功能。
MATLAB程序设计及应用
随着科学技术的迅速发展,计算机软件的应用越来越广泛,它的发展推动了电学课程的发展,MALAB是矩阵实验室之意。
除具备卓越的数值计算能力以外,它还提供了专业水平的符号计算,文字处理,可视化建模仿真和实时控制等功能。
而且在电路分析中也有较大的应用。
电路理论系统的介绍了电路的基本理论、概念、定理和定律,并讨论各种电路的分析与计算方法,内容多涉及范围广,而电路的分析计算问题往往最终归结于有关数学模型的求解,如代数方程、矩阵运算和电路分析等手工求解相当繁琐,不仅费时而且容易出错。
MATLAB的优点是:
(1)友好的工作平台和编程环境。
这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。
包括MATLAB桌面和命令窗口、历史窗口、编辑器等。
随着MATLAB 的发展及软件的不断升级,界面用户界面越来越精致。
新版本提供了完整地联机查询、帮助系统,极大的方便了用户的使用。
简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及出错原因分析。
(2)简单易懂的程序语言;
MATLAB是一个高级的矩阵/阵列语言,包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。
用户可以在命令窗口中将输入语句与执行命令同步,也可以编好一个较大的复杂程序(M文件)后在一起运行。
而且这种语言可值性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。
(3)强大的科学计算机数据处理能力;
MATLAB是一个包含大量计算算法的集合。
其中拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。
函数中所使用的方法都是科研和工程计算中的最新研究成果,而且经过了各种优化和容错处理。
使用MATLAB的编程会大大减少工作量。
(4)出色的图形处理功能;
MATLAB自产生之日就具有方便的数据可视化功能,以及将向量和矩阵用图形表现出口来,并可以对图形进行标注和打印。
高层次的的作图例如二维和三维的可视化都可以表现出来。
(5)应用广泛的模块集合工具箱;
在很多专门的领域其都开发了功能强大的模块集和工具箱。
一般来说,他们都与专门的领域开发现在已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、优化算法、偏微分方程求解、神经网络、信号处理、非线性控制设、计电力系统仿真等都有一定的地位。
通过以上了解来分析电路,步骤可归纳为:首先,根据给定的条件依据电路方程建立电路模型;其次,将模型进行适当化简和处理;再次,求解编写程序(尽可能采用向量化编程和MATLAB提供的内在函数);最后运行MATLAB求解程序得到结果。
例题:如图所示R1=2ΩR2=4ΩR3=6ΩUs=2V g=3 r=2求i2和u2。
建立该电路的数学模型
:
-gu2R1+Us+u2=0
gu2+I2=I3
I3R3+Us+u2-ri2=0
(-g R1R2+R2)I2=-Us
g u2+I2=I3
(g u2+I2)R3+Us+u2-ri2=0
整理化简以上格式,并写成矩阵形式为
%exam
clear
R1=2;R2=4;R3=6;us=2;g=3;r=2; %设置元件参数
% 设置系数矩阵A
a11=-g*R1*R2+R2;a12=0;
a21=R3+R2-r;a22=g*R3;
A=[a11 a12;a21 a22];
% 设置系数矩阵B
B=[1 0;0 1];
% 设置控制矩阵u
u=[-us;-us];
X=A\B*us; %求解代数方程
i2=X(1)/R2;
%显示结果,注意数值转换为字符函数num2str的用法
disp(['i2=',num2str(i2),'A'])
disp(['u2=',num2str(X(1)),'V'])
运行exam得到如下结果
I2=
U2
Matlab丰富的数值计算、符号计算和绘图功能为动态电路的分析带来了方便。
将理论课所学习的方法在计算机上加以实现,避免了繁琐的手工计算。
使学生把主要的精力集中在掌握电路理论的基础概念和分析方法上,从而提高了学习效率和学习积极性。
将Matlab引入到电路课程的教学中,有利于培养学生的分析、解决问题的能力,在电路课程的教学中收到了良好的教学效果。
在电路分析中引入MATLAB大大地提高了计算精度和工作效率,把注意力更多地注意到如何分析和解决电路问题上。