Matlab程序设计报告
matlab实验报告
Matlab实验报告一、实验名称:matlab实验报告二、实验目的:熟悉并学会掌握matlab的基本操作。
三、实验内容:准确编写第二,三,四章课后习题的matlab程序。
四、实验数据处理第二章MATLAB 基本操作第一题:利用基本矩阵产生3X3和15X8的单位阵、全1阵、全0阵,随机分布矩阵([-1,1]之间)、正态分布随机阵(均值为1,方差为4)。
程序:>> A=eye(3)A = 1 0 00 1 00 0 1>> A=ones(3)A =1 1 11 1 11 1 1>> A=zeros(3)A =0 0 00 0 00 0 0>> A=1-2*rand(3)A =-0.9003 0.0280 0.08710.5377 -0.7826 0.9630-0.2137 -0.5242 -0.6428>> A=2*randn(3)+1A =0.1349 1.5754 3.3783-2.3312 -1.2929 0.92471.2507 3.3818 1.6546>> B=eye(2,3)B =1 0 00 1 0>> B=ones(2,3)B = 1 1 11 1 1>> B=zeros(2,3)B =0 0 00 0 0>> B=1-2*rand(2,3)B = 0.1106 -0.5839 -0.4764-0.2309 -0.8436 0.6475>> B=2*randn(2,3)+1B =1.3493 2.4516 5.36640.6266 -0.1766 0.7272第五题:利用rand函数产生(0,1)间均匀分布的5X5随机矩阵A,然后统计A中大于等于0.6的元素个数。
程序:A=rand(5)A =0.4057 0.0579 0.2028 0.0153 0.41860.9355 0.3529 0.1987 0.7468 0.84620.9169 0.8132 0.6038 0.4451 0.52520.4103 0.0099 0.2722 0.9318 0.20260.8936 0.1389 0.1988 0.4660 0.6721>> n=sum(sum(A>=0.6))n =9第六题:利用rand函数产生均值为0,方差为1的4X4正态分布随机矩阵A,然后统计A 中大于-0.5且小于0.5的元素个数。
matlab程序设计实验报告
实验报告课程名称:可视化计算机语言实验项目名称:matlab程序设计学院:信息工程学院专业:电子信息工程指导教师:报告人:学号:班级:实验时间:实验报告提交时间:教务部制一、实验目的与要求:1、熟练掌握matlab的程序流程控制结构..2、熟悉掌握M文件的结构和函数调用..3、掌握内联函数和函数句柄的使用..4、了解程序性能剖析窗口..二、内容和步骤:MATLAB的语法规则简洁;编程效率高;作为一个完整的程序语言;MATLAB也有各种程序流程控制;文件格式和函数调用的规则;通过对函数的调用就能够组成庞大的程序;完成复杂的功能..1.使用程序流程控制Fibonacci数列的各元素为:1、1、2、3、5、8、...满足一下关系F1=1 F2=1 F n=F n-1+F n-2用M函数文件实现;数列的元素个数为输入变量..(1)按M函数文件格式创建文件开头..function f=shiyan0501n%SHIYAN0501%Fibonacci数列%n 元素个数%f 构成Fibonacci数列向量%%copyright 2015-11-25(2)用while循环实现程序功能f1=1;f2=1;i=2;while i<=nfi+1=fi-1+fi;i=i+1;End运行后;输入参数10;运行结果如下所示:(3)使用for循环实验for i=2:nfi+1=fi-1+fi;end运行结果如下所示:(4)当某个元素大于50时;退出循环结构;程序修改如下:for i=2:nif fi>10breakelsefi+1=fi-1+fi;endend当某个元素大于50;程序便退出循环结构当n=10;最后一个元素刚好是大于50的;正好退出循环结构当n=12时;第十个元素对应的fi大于50;于是退出循环结构;不再运行f11;f12了..(5)将该.m文件生成P码文件>> pcode shiyan0501将shiyan0501.m删除;重新运行该文件夹;结果如下所示:练习:将该M文件函数改为M脚本文件;将数列元素个数通过键盘输入;程序应该如何修改①将M文件函数另存为M脚本文件;②在函数前加n=input'please input a num:'便可通过键盘键入文件f=mf;endk=f1/2^2n1f^22n1+1;end调用程序shiyan0502;运行结果如下所示:>> y=shiyan05020.7y =0.7754运行结果与使用子函数factorial的运行结果一致..(4)使用程序性能剖析..选择菜单‘view’->‘profile’命令;或使用在命令窗口输入‘profile viewer’命令都可以打开程序性能剖析窗口..在程序性能剖析窗口的‘命令输入栏’中输入需要剖析的命令;‘y=shiyan05020.7’;然后单击‘start profiling’按钮;查看剖析报告..(5)程序的调试..当有多个函数调用时;由于函数变量的工作空间是独立的;被调用的函数执行结束后变量消失;因此调试时要使用matlab调试器查看运行过程中的变量值..①设置断点..在需要查看的程序的地方设置断点;>> shiyan05020.7K>> yy =0.7000K>> x=0.5x =0.5000在K>>输入x=0.5即可将x的值从0.7修改为0.5.去除断点;查看结果:ans =0.7236结果与x值为0.7时不一致;当x=0.7时;y =0.7754;由此可知;x的值已被修改..②单步运行>> shiyan05020.79 n=n+1;K>>按单步运行键:可看到箭头不断的移动:6使用函数句柄..在命令窗口使用函数句柄调用函数..>> h_shiyan0502=shiyan0502h_shiyan0502 =shiyan0502>> y=fevalh_shiyan0502;0.5y =0.5236(7)使用全局变量..Matlabe的编程不提倡使用全局变量;本例中的程序主要是为了查看全局变量的概念..将n 作为全局变量;子函数factorial不修改;子函数cal程序和主函数shiyan0502修改如下:function y=shiyan0502x%shiyan0502 arcsinxglobal n;n=1;if absx<1y=x;while caln>0.0001y=y+calnx^2n+1;n=n+1;endelsedisp'输入错误';y=0;returnendfunction k=caln1global nfor m=1:nk=factorial2n/2^2nfactorialn^222n+1;Endglobal为设置的全局变量;子函数没有输入变量;而用全局变量n传递..在全局变量前设置断点;然后运行程序;当程序运行到断点处停止;接着不断使用单步运行调试;结果如下所示:|||练习:使用单步运行调试;查看全局变量n的变化;并在工作空间查看n;3、利用泛函命令实现数值分析①创建函数shiyan0503实现上述表达式关系..function y=shiyan0503t%shiyan0503 y=sint.^2.expat-babsta=0.1;b=0.5;y=sint.^2.expat-babst;②查看该函数的输出波形;如下图所示:注:1、报告内的项目或内容设置;可根据实际情况加以调整和补充..2、教师批改学生实验报告时间应在学生提交实验报告时间后10日内..。
程序设计实验报告(matlab)
程序设计实验报告(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进行各种计算和数值分析,同时也能够深入理解相关的数学原理和算法。
这些知识和技能对我未来的学习和工作都将有着重要的帮助。
实验3 Matlab程序设计1实验报告
实验3 Matlab程序设计1实验报告I am going to write the report for the Matlab program design experiment 3. In this experiment, I was required to use Matlab to design a program to solve a specific problem.I had to write the program, test it, and then write areport on the results.First, I started by analyzing the problem and breaking it down into smaller, more manageable parts. This is a crucial step in programming, as it allows me to understand the problem fully and come up with an effective solution. Once I had a clear understanding of the problem, I began writing the program in Matlab.I encountered some challenges along the way, such as debugging errors and optimizing the code for efficiency. However, with some perseverance and problem-solving skills, I was able to overcome these challenges and successfully write the program.After writing the program, I tested it with different inputs to ensure that it produced the correct outputs inall cases. Testing is an essential part of programming, asit helps to identify and fix any errors or bugs in the code.Once the program was tested and working correctly, I wrote a report on the results. In the report, I explainedthe problem, my approach to solving it, and the results of the program. I also included any insights or observations that I gained from working on the program.Overall, this experiment was a valuable learning experience for me. It allowed me to practice my programming skills and problem-solving abilities, and it also gave me a better understanding of how to use Matlab for real-world applications.中文回答:我要写实验3的Matlab程序设计实验报告。
实验二MATLAB程序设计含实验报告
实验二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程序设计实验报告
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程序设计的基本技能,为工程实践提供有力的支持。
Matlab程序设计实验报告
实验七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位整数,按如下规则加密后输出。
实验3 Matlab程序设计1实验报告
实验3 Matlab程序设计1实验报告英文回答:Experiment 3: Matlab Programming 1。
In this experiment, I was tasked with writing a Matlab program to simulate the motion of a projectile. The program was to take into account the initial velocity and angle of the projectile, as well as the acceleration due to gravity.I began by defining the initial conditions for the projectile. I set the initial velocity to 10 m/s and the initial angle to 45 degrees. I also set the acceleration due to gravity to 9.8 m/s^2.Next, I used the equations of motion to calculate the position and velocity of the projectile at different time intervals. The equations of motion are:```。
x = v0tcos(theta)。
y = v0tsin(theta) 0.5gt^2。
```。
where:x is the horizontal position of the projectile。
y is the vertical position of the projectile。
v0 is the initial velocity of the projectile。
MATLAB程序设计实验报告
MATLAB课程结业报告题目:一种简单计算器的GUI设计与实现专业:电子信息科学技术班级: 0313411学号: **********名:**指导老师:**时间:2015年6月11日一种简单计算器的matlab设计与实现设计说明利用MATLAB GUI实现图形用户界面的简易计算器。
计算器功能:实现十进制的加、减、乘、除基本功能,能够显示输入的加数和被加数。
实现清退输入错误的数字,清空不需要的等式,实现退出程序的功能。
界面外形源程序代码(1)按键的输入textString=get(handles.text1,'string');textString=strcat(textString,'0');set(handles.text1,'string',textString);%使用句柄handles指向对象text1,并以字符串形式来存储数据文本框text1的内容,并存储数个“0”其他1~9数字按键类似(2)加、减、乘、除的输入1.加法textString = get(handles.text1,'String'); textString =strcat(textString,'+');set(handles.text1,'String',textString);2.减法textString = get(handles.text1,'String'); textString =strcat(textString,'-');set(handles.text1,'String',textString);3.乘法textString = get(handles.text1,'String'); textString =strcat(textString,'*');set(handles.text1,'String',textString);4.除法textString = get(handles.text1,'String'); textString =strcat(textString,'/');set(handles.text1,'String',textString);(3)back键输入textString = get(handles.text1,'String'); set(handles.text1,'String','')ss=char(textString);n=length(textString);textString=ss(1:n-1);set(handles.text1,'String',textString);%清除上一位数字(4)清空键输入textString = get(handles.text1,'String');set(handles.text1,'String','')%清空所有存储(5)退出键输入Close(gcf);实验结果1.界面显示2.加法3.减法4.乘法6.除法报告总结通过本次实验实现十进制数的加、减、乘、除、简单计算,多次的修改、调查做出实验,验证了实验的正确性,大大的提高了我对Matlab中GUI功能的认识,对Matlab的操作有了进一步的认识和了解,也提升了我对此软件的探索兴趣。
Matlab课程设计报告
至诚学院《 MATLAB 实践》课程设计学生姓名:学号:专业班级:指导教师:二○一二年伍月三日目录1. 设计目的 (3)2. 题目分析 (3)3. 总体设计 (3)4. 具体设计 (3)5. 心得体会 (10)1、设计目的运用MATLAB实现MATLAB的GUI程序设计仿真音乐键盘。
2、题目分析学习MATLAB GUI程序设计,设计和实现一个音乐键盘仿真系统。
要求:按照软件工程方法,根据需求进行程序的功能分析和界面设计,给出设计详细说明。
然后按照自己拟定的功能要求进行程序设计和调试。
以下几点是程序的功能,供参考。
1)设计音乐键盘GUI界面,实现单音键盘的发声。
2)实现键盘的双音多频,即每个键盘对应低音频组的一个频率和高音频组的一个频率,实现按键的发出双音。
3)能改变音乐包络形式,实现音型的改变。
4)能够演奏一段音乐。
3、总体设计3.1设计框架3.2功能模块化分音乐键盘:每个键盘对应低音频组的一个频率和高音频组的一个频率,实现键盘的双音多频。
单音:对键盘进行低音频组频率的选择双音:对键盘进行高音频组频率的选择音乐:演奏一首“生日快乐”歌曲4、具体设计4.1各功能界面设计黑白键盘:每个键盘对应低音频组的一个频率和高音频组的一个频率,实现键盘的双音多频。
单音:被选择后控制黑白键盘发出低音频组的声音混音:被选择后控制黑白键盘发出高低音频的混音音乐: 点击后将演奏“生日快乐”歌曲.4.2各功能模块实现及调试结果黑白键盘函数区代码(前3个键)% --- Executes on button press in pushbutton2. function pushbutton2_Callback(hObject, eventdata, handles)% hObject handle to pushbutton2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global jswitch(j)case 1f1=262;n=0:1/8000:1;x=exp(-2*n);ff1=x.*sin(f1*2*pi*n);case 2f1=262;n=0:1/8000:0.5;ff1=sin(f1*2*pi*n);r1=524;t=0:1/8000:0.5;rr1=sin(r1*2*pi*t);a=0.2;y=ff1+a*rr1;soundsc(y);end% --- Executes on button press in pushbutton3.function pushbutton3_Callback(hObject, eventdata, handles)% hObject handle to pushbutton3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global jswitch(j)case 1f1=294;n=0:1/8000:1;x=exp(-2*n);ff1=x.*sin(f1*2*pi*n);soundsc(ff1)case 2f1=294;n=0:1/8000:0.5;ff1=sin(f1*2*pi*n);r1=588;t=0:1/8000:0.5;rr1=sin(r1*2*pi*t);a=0.2;y=ff1+a*rr1;end% --- Executes on button press in pushbutton4.function pushbutton4_Callback(hObject, eventdata, handles)% hObject handle to pushbutton4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global jswitch(j)case 1f1=330;n=0:1/8000:1;x=exp(-2*n);ff1=x.*sin(f1*2*pi*n);soundsc(ff1)case 2f1=330;n=0:1/8000:0.5;ff1=sin(f1*2*pi*n);r1=660;t=0:1/8000:0.5;rr1=sin(r1*2*pi*t);a=0.2;y=ff1+a*rr1;soundsc(y);end单音:函数区代码:% --- Executes on button press in pushbutton29. function pushbutton29_Callback(hObject, eventdata, handles) % hObject handle to pushbutton29 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global jj=1混音:函数区代码% --- Executes on button press in pushbutton29.function pushbutton29_Callback(hObject, eventdata, handles)% hObject handle to pushbutton29 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global jj=2音乐:函数区代码:% --- Executes on button press in pushbutton20.function pushbutton20_Callback(hObject, eventdata, handles)% hObject handle to pushbutton20 (see GCBO) eventdata reserved - to be% defined in a future version of MATLAB handles structure with handles% and user data (see GUIDATA)f1=392;n=0:1/8000:0.9;x=exp(-2*n);ff1=x.*sin(f1*2*pi*n);soundsc(ff1)g1=392;n=0:1/8000:0.6;x=exp(-2*n);gg1=x.*sin(f1*2*pi*n);soundsc(gg1)h1=440;y1=392;j1=523;k1=494;n=0:1/8000:0.9;x=exp(-2*n);hh1=x.*sin(h1*2*pi*n); yy1=x.*sin(y1*2*pi*n); jj1=x.*sin(j1*2*pi*n); kk1=x.*sin(k1*2*pi*n); m=[hh1,yy1,jj1,kk1] soundsc(m)f1=0;n=0:1/8000:1;x=exp(-2*n);ff1=x.*sin(f1*2*pi*n); soundsc(ff1)f1=392;n=0:1/8000:0.9;x=exp(-2*n);ff1=x.*sin(f1*2*pi*n); soundsc(ff1)g1=392;n=0:1/8000:0.6;x=exp(-2*n);gg1=x.*sin(f1*2*pi*n); soundsc(gg1)h1=440;y1=392;j1=330;k1=294;n=0:1/8000:0.9;x=exp(-2*n);hh1=x.*sin(h1*2*pi*n);yy1=x.*sin(y1*2*pi*n); jj1=x.*sin(j1*2*pi*n); kk1=x.*sin(k1*2*pi*n); m=[hh1,yy1,jj1,kk1] soundsc(m)f1=0;n=0:1/8000:1;x=exp(-2*n);ff1=x.*sin(f1*2*pi*n); soundsc(ff1)f1=392;n=0:1/8000:0.9;x=exp(-2*n);ff1=x.*sin(f1*2*pi*n); soundsc(ff1)g1=392;n=0:1/8000:0.6;x=exp(-2*n);gg1=x.*sin(f1*2*pi*n); soundsc(gg1)h1=587;y1=523;j1=494;k1=440;l1=392;n=0:1/8000:0.9;x=exp(-2*n);hh1=x.*sin(h1*2*pi*n); yy1=x.*sin(y1*2*pi*n); jj1=x.*sin(j1*2*pi*n); kk1=x.*sin(k1*2*pi*n); ll1=x.*sin(l1*2*pi*n); m=[hh1,yy1,jj1,kk1,ll1] soundsc(m)f1=0;n=0:1/8000:1;x=exp(-2*n);ff1=x.*sin(f1*2*pi*n);soundsc(ff1)f1=392;n=0:1/8000:0.9;x=exp(-2*n);ff1=x.*sin(f1*2*pi*n);soundsc(ff1)g1=392;n=0:1/8000:0.6;x=exp(-2*n);gg1=x.*sin(f1*2*pi*n);soundsc(gg1)h1=349;y1=294;j1=330;k1=294;n=0:1/8000:0.9;x=exp(-2*n);hh1=x.*sin(h1*2*pi*n);yy1=x.*sin(y1*2*pi*n);jj1=x.*sin(j1*2*pi*n);kk1=x.*sin(k1*2*pi*n);m=[hh1,yy1,jj1,kk1]soundsc(m)5、小结和心得经历了一个月的MATLAB课程设计,自己独立完成了整个音乐键盘仿真的设计。
MATLAB程序设计实验报告
MATLAB程序设计实验报告MATLAB 程序设计实验报告一、实验目的1.通过实验熟悉MATLAB仿真软件的使用方法;2.掌握用MATLAB寸连续信号时域分析、频域分析和s域分析的方法,利用绘图命令绘制出典型信号的波形,了解这些信号的基本特征;3.掌握用MATLAB寸离散信号时域分析、频域分析和z域分析的方法,利用绘图命令绘制出典型信号的波形,了解这些信号的基本特征;4.通过绘制信号运算结果的波形,了解这些信号运算寸信号所起的作用。
二、实验设备1. 计算机2. MATLAB R2007a 仿真软件三、实验原理寸系统的时域分析信号的时域运算包括信号的相加、相乘,信号的时域变换包括信号的平移、反折、倒相及信号的尺度变换。
(1 )信号的相加和相乘:已知信号f1 (t)和f2 (t),信号相加和相乘记为f(t) f1(t) f2(t);f(t) f1(t) f2(t)。
(2)信号的微分和积分:寸于连续时间信号,其微分运算是用diff 函数来完成的,其语句格式为:diff(function, 'variable ',n) ,其中function 表示需要进行求导运算的信号,或者被赋值的符号表达式;variable 为求导运算的独立变量;n 为求导的阶数,默认值为求一阶导数。
连续信号的积分运算用int 函数来完成,语句格式为:diff(function, ' variable ' ,a,b) ,其中function 表示需要进行被积信号,或者被赋值的符号表达式;variable 为求导运算的独立变量;a,b 为积分上、下限,a和b省略时为求不定积分。
(3)信号的平移、翻转和尺度变换信号的平移包含信号的左移与右移,信号的翻转包含信号的倒相与折叠,平移和翻转信号不会改变信号f(t)的面积和能量。
信号的尺度变换是对信号f(t)在时间轴上的变化,可使信号压缩或扩展。
f(at)将原波形压缩a倍,f(t/a)将原波形扩大a倍。
实验3 Matlab程序设计1实验报告
实验3 Matlab程序设计1实验报告英文回答:Introduction。
The purpose of this experiment was to gain experience with Matlab programming by completing a series of exercises. These exercises covered a variety of topics, including data input and output, control flow, functions, and plotting.Methods。
I used Matlab R2021b to complete the exercises. I opened a new script file for each exercise and entered the code as specified in the instructions. I then ran thescript file to execute the code.Results。
I was able to successfully complete all of theexercises. The following is a summary of my results:Exercise 1: I was able to create a vector of numbers and then use the `disp` function to display the vector to the console.Exercise 2: I was able to create a matrix of numbers and then use the `whos` function to display information about the matrix.Exercise 3: I was able to use the `if` statement to control the flow of execution in a script file.Exercise 4: I was able to define a function and then call the function from within a script file.Exercise 5: I was able to use the `plot` function to create a plot of data.Discussion。
实验3 Matlab程序设计1实验报告
实验3 Matlab程序设计1实验报告
实验3 Matlab程序设计1自查报告。
在本次实验中,我学习了如何使用Matlab进行程序设计,并完
成了相应的实验任务。
在实验过程中,我遇到了一些困难,但通过
查阅资料和与同学讨论,最终顺利完成了实验。
首先,我学习了Matlab的基本语法和常用函数,包括变量的定义、数组的操作、条件语句和循环结构等。
在实验中,我成功地运
用了这些知识,编写了一些简单的程序来实现特定的功能。
其次,我学习了Matlab的绘图功能,包括如何绘制二维和三维
图形,以及如何对图形进行美化和标注。
通过实验,我掌握了
Matlab中绘图函数的使用方法,并成功地绘制了一些图形来展示实
验结果。
在实验过程中,我也遇到了一些问题。
例如,在编写程序时,
我经常会忘记Matlab的语法规则,导致程序出现错误。
此外,我在
绘图时也遇到了一些困难,比如不知道如何设置图形的颜色和线型。
但通过查阅Matlab的官方文档和向同学请教,我逐渐解决了这些问
题。
总的来说,本次实验让我对Matlab的程序设计和绘图功能有了更深入的了解,也提高了我的编程能力和解决问题的能力。
通过不断地练习和实践,我相信我会在Matlab编程方面取得更大的进步。
MATLAB实验报告一二三
2015秋2013级《MATLAB程序设计》实验报告实验一班级:软件131 姓名:付云雷学号:132872一、实验目的:1、了解MATLAB程序设计的开发环境,熟悉命令窗口、工作区窗口、历史命令等窗口的使用。
2、掌握MATLAB常用命令的使用。
3、掌握MATLAB帮助系统的使用。
4、熟悉利用MATLAB进行简单数学计算以及绘图的操作方法。
二、实验内容:1、启动MATLAB软件,熟悉MATLAB的基本工作桌面,了解各个窗口的功能与使用。
图1 MATLAB工作桌面2、MATLAB的常用命令与系统帮助:(1)系统帮助help:用来查询已知命令的用法。
例如已知inv是用来计算逆矩阵,键入help inv即可得知有关inv命令的用法。
lookfor:用来寻找未知的命令。
例如要寻找计算反矩阵的命令,可键入lookfor inverse,MATLAB即会列出所有和关键字inverse相关的指令。
找到所需的命令後,即可用help进一步找出其用法。
(2)数据显示格式:常用命令:说明format short 显示小数点后4位(缺省值)format long 显示15位format bank 显示小数点后2位format + 显示+,-,0format short e 5位科学记数法format long e 15位科学记数法format rat 最接近的有理数显示(3)命令行编辑:键盘上的各种箭头和控制键提供了命令的重调、编辑功能。
具体用法如下:↑----重调前一行(可重复使用调用更早的)↓----重调后一行→----前移一字符←----后移一字符home----前移到行首end----移动到行末esc----清除一行del----清除当前字符backspace----清除前一字符(4)MATLAB工作区常用命令:who--------显示当前工作区中所有用户变量名whos--------显示当前工作区中所有用户变量名及大小、字节数和类型disp(x) -----显示变量X的内容clear -----清除工作区中用户定义的所有变量save文件名-----保存工作区中用户定义的所有变量到指定文件中load文件名-----载入指定文件中的数据3、在命令窗口执行命令完成以下运算,观察workspace的变化,记录运算结果。
MATLAB语言的程序设计实验报告
实验二 MATLAB 语言的程序设计一、实验目的及要求1.掌握一些矩阵运算的基本函数应用方法2.熟悉MA TLAB 程序编辑与设计环境3.掌握各种编程语句语法规则及程序设计方法4.会编写程序M 文件和函数M 文件5.初步掌握程序的调式方法二、实验内容1.掌握以下矩阵操作函数实际给定一些数据后,使用各种函数计算,观察运算结果: zeros(n) 生成nxn 的零阵 zeros(n,m) 生成n 行m 列的零阵 ones(n,m) 生成n 行m 列的全1阵 eye(n) 生成nxn 的单位阵 randn(n,m) 生成元素为正态分布随机阵 x=[] 生成空矩阵 1、⎥⎦⎤⎢⎣⎡=654321a ⎥⎦⎤⎢⎣⎡-=531142b ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=201c ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=063258741d下列运算是否合法,为什么?如合法,结果是多少? (1) result1 = a' 答>> result1=a'result1 =1 42 53 6(2) result2 = a * b 错误(3) result3 = a + b 答> result3=a+bresult3 =3 6 2 5 8 11(4) result4 = b * d答>> result4=b*dresult4 =31 22 2240 49 13(5) result5 = [b ; c' ] * d答>> result5=[b;c']*dresult5 =31 22 2240 49 13-5 -8 7(6) result6 = a . * b答>> result6 = a.*bresult6 =2 8 -34 15 30(7) result7 = a . / b答>> result7=a./bresult7 =0.5000 0.5000 -3.00004.0000 1.6667 1.2000 (8) result8 = a . * c错误(9) result9 = a . \ b答>> result9=a.\bresult9 =2.0000 2.0000 -0.33330.2500 0.6000 0.8333 (10) result10 = a . ^2答>> result10=a.^2result10 =1 4 916 25 36(11) result11 = a ^2错误(12) result11 = 2 . ^ a答>> result12=2.^aresult12 =2 4 816 32 642、关系运算与逻辑运算已知a=20,b=-2,c=0,d=1(1) r1 = a > b答>> r1=a>br1 =1(2) r2 = a > b & c > d答>> r2=a>b &c>dr2 =(3) r3 = a == b* (-10)答>> r3 = a == b* (-10)r3 =1(4) r4 = ~b | c答>> r4=~b|cr4 =2.熟悉MATLAB程序编辑与设计环境要求:1)简单程序的编写与运行。
matlab程序设计实验报告
matlab程序设计实验报告Matlab程序设计实验报告引言:Matlab(Matrix Laboratory)是一种强大的高级编程语言和环境,广泛应用于科学计算、数据分析和工程设计等领域。
本实验报告旨在介绍我在Matlab程序设计实验中的学习和实践经验。
一、Matlab基础知识1.1 Matlab的安装与配置在实验开始前,我们首先需要安装Matlab并进行相应的配置。
Matlab的安装过程相对简单,只需按照官方指引进行操作即可。
配置方面,我们可以设置工作目录、界面风格、字体大小等,以提高工作效率。
1.2 Matlab的基本语法Matlab的语法类似于其他编程语言,但也有一些特殊之处。
例如,Matlab中的变量名不区分大小写,函数名则区分大小写。
此外,Matlab还具有丰富的数学函数库,可以方便地进行各种数值计算。
二、Matlab程序设计实践2.1 数值计算Matlab以其强大的数值计算能力而闻名,我们可以使用Matlab进行各种数学运算和数值计算。
例如,我们可以使用Matlab求解线性方程组、计算矩阵的特征值和特征向量等。
2.2 图像处理Matlab提供了丰富的图像处理函数,可以对图像进行各种操作和处理。
例如,我们可以使用Matlab读取图像文件、调整图像的亮度和对比度、进行图像滤波等。
此外,Matlab还支持图像的显示和保存,方便我们进行结果的展示和分析。
2.3 数据可视化Matlab提供了强大的数据可视化功能,可以将数据以图表的形式直观地展示出来。
我们可以使用Matlab绘制各种类型的图表,如折线图、散点图、柱状图等。
此外,Matlab还支持对图表的样式、标签、标题等进行自定义,以满足不同的需求。
三、实验心得与体会通过这次Matlab程序设计实验,我深刻体会到了Matlab在科学计算和工程设计中的重要性。
Matlab不仅提供了丰富的数学函数库和工具箱,还具备直观的图形界面和友好的交互环境,使得我们能够快速、高效地进行各种计算和分析。
matlab课程设计报告模板
matlab课程设计报告模板一、教学目标本课程的教学目标是使学生掌握MATLAB的基本功能和使用方法,能够运用MATLAB进行简单的数学计算、数据处理和图形绘制。
具体分为以下三个部分:1.知识目标:学生需要了解MATLAB的基本组成、工作环境以及常用的数学函数和工具箱。
2.技能目标:学生能够熟练使用MATLAB进行矩阵运算、数学计算、数据分析和图形绘制。
3.情感态度价值观目标:通过学习MATLAB,培养学生对科学计算和计算机辅助设计的兴趣,提高学生解决实际问题的能力。
二、教学内容根据课程目标,教学内容主要包括以下几个部分:1.MATLAB概述:介绍MATLAB的发展历程、功能特点和应用领域。
2.MATLAB基本操作:包括矩阵运算、数学计算、数据分析、图形绘制等。
3.MATLAB工具箱:介绍MATLAB常用的工具箱,如数值计算工具箱、信号处理工具箱等。
4.MATLAB实际应用案例:分析实际案例,让学生学会将MATLAB应用于实际问题的解决。
三、教学方法为了达到课程目标,我们将采用以下教学方法:1.讲授法:通过讲解MATLAB的基本概念和操作方法,使学生掌握MATLAB的基本使用技巧。
2.案例分析法:分析实际案例,让学生学会将MATLAB应用于实际问题的解决。
3.实验法:安排上机实验,让学生动手操作,巩固所学知识。
4.讨论法:学生进行小组讨论,促进学生之间的交流与合作。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《MATLAB教程》或其他类似教材。
2.参考书:提供相关的参考书籍,供学生课后自学。
3.多媒体资料:制作课件和教学视频,辅助课堂教学。
4.实验设备:提供计算机实验室,让学生进行上机实验。
五、教学评估为了全面、客观地评估学生的学习成果,我们将采取以下评估方式:1.平时表现:通过课堂参与、提问、讨论等方式,评估学生在课堂上的表现。
2.作业:布置适量的作业,评估学生对知识的掌握和应用能力。
Matlab程序设计仿真训练实验报告
Matlab程序设计仿真训练实验报告设计题目:物体碰撞运动建模专业;通信工程班级:三班姓名:张乐学号:201100805524报告时间:2012.06指导老师:蔡益红实验目的:了解matlab的基本特点与功能,基本掌握matlab的功能解决数学物理的相关问题。
实验环境MATLAB 7.9I、题目:质量为m的小球以速度正面碰撞质量为M的静止小球,假设碰撞是完全弹性的,即没有能量损失,求碰撞后两球的速度,及它们与两球质量比K =M/m的关系并对结果进行分析。
II、程序简介根据小球碰撞过程中的机械能守恒和动量守恒,写出两个方程,然后解出两个小球各自的速度表达式,再把已知参量代入到速度表达式即可求的小球完全弹性碰撞后的速度;其中,跟据两个小球的质量关系K=M/m,可以分析两个小球的质量跟碰撞后的速度u和v的方向和大小关系。
III、程序依据(机械能守恒)0.5*m*V^2-0.5*m*u^2-0.5*M*v^2=0(动量守恒)m*V-m*u-M*v=0求解方程的:u=V*(m-M)/(m+M);v=2*V*m/(m+M);代入K=M/m得:u=V*(1-k)/(1+k);v=2*V/(1+k);IV、程序代码syms u v;>>[x,y]=solve('0.5*m*V^2-0.5*m*u^2-0.5*M*v^2=0','m*V-m*u-M*v=0'); >> x=vpa(x,4);>> y=vpa(y,4);>>>> clear>> syms u v;>>[x,y]=solve('0.5*m*V^2-0.5*m*u^2-0.5*M*v^2=0','m*V-m*u-M*v=0'); >> x=vpa(x,4)x =V-(1.0*(M*V - 1.0*V*m))/(M + m)>> y=vpa(y,4)y =(2.0*V*m)/(M + m)当以K=M/m计算时:syms u v;>> [u,v]=solve('V-u-K*v=0','V^2-u^2-K*v^2=0');>> u=vpa(u,4)u =V(V - 1.0*K*V)/(K + 1.0)>> v=vpa(v,4)v =(2.0*V)/(K + 1.0)VI、函数图象x=0.1:0.1:10;>> y=2./(1+x)-1;>> z=2-2./(1+x);>>plot(x,y,x,z)V、数据分析当K=1时,两小球的质量相等,由公式的V1=0,V2=V0,即碰撞后质量为m的小球静止,质量为M的小球以速度大小V0,方向不变往前运动;当K>1时,碰后由速度表达式的V1为负,即速度反向,V2沿速度V0的方向运动;当K<1时,碰后由速度表达式得,两个小球均沿V0的方向运动,且V1的速度小于V2的速度。
实验三MATLAB的程序设计
end
ifk==0
Y=1;
elseifk==1&&n==1
Y=1;
elseifk<=n
Y=(n/k)*c(k-1,n-1);
end
程序测试:
>> c(0,0)
ans =
1
>> c(0,1)
ans =
1
>> c(3,4)
ans =
4
7,计算以下和式,并估计其求和公式以及验证:
functionY=s(n)
Y=0;
fork=1:n
Y=Y+k;
end
测试:
>> s(3)
ans =
6
functionY=s(n)
Y=0;
fork=1:n
Y=Y+k^2;
end
测试:
>> s(3)
ans =
14
functionY=s(n)
Y=0;
fork=1:n
Y=Y+k^3;
end
测试:
>> s(2)
4
>> Joseph0(7,4)
2
11,求出 之间的所有素数;
M函数文件:
functionout = nprimes(N)
A= [1:N];
A(1)=0;
i=2;
whilei<= floor(sqrt(N));
forj= 2:fix(N/i)
A(i*j) = 0;
end;
i = A(find(A>i,1));
MATLAB实验报告二
实验二 Matlab语言程序设计一、实验内容:1、编写命令文件:计算 1+2+…+n<2000 时的最大 n 值;>> n=1; %将变量初值设为1sum=0;while((sum+n)<2000) %若s<2000成立,则执行下一条语句,否则结束本循环sum=sum+n; %求和运算n=n+1;endsum,n-1 %显示最终s和nsum =1953ans =622、编写函数文件:分别用 for 和 while 循环结构编写程序,求 2 的 0 到 15 次幂的和。
function xunhuan(x)sum=0;for(i=0:x)sum=sum+2^i;endy=sum>> xunhuan(15)y =65535function whilexun(x)sum=0;i=0;while(i<x)sum=sum+2^i;i=i+1;endy=sum>> whilexun(16)y =655353、如果想对一个变量 x 自动赋值。
当从键盘输入 y 或 Y 时(表示是),x 自动赋为 1;当从键盘输入 n 或 N 时(表示否),x 自动赋为 0;输入其他字符时终止程序。
a=input('输入一个字符:');switch acase 'y'x=1case 'Y'x=1case 'n'x=0case 'N'x=0otherwiseend输入一个字符:'Y'x =1二、实验思考题1.用FOR和WHILE语句有何要求?答:for语句的基本命令格式为for 循环变量=表达式1表达式3表达式2循环语句组End表达式1、表达式3、表达式2的定义和C语言相似即首先执行循环变量的初始值赋成表达式1的值然后判断循环变量的值介于表达式1和表达式2的值之间则执行循环体中的语句否则结束循环语句的执行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中南大学
题目Matlab程序设计
学生姓名
指导教师
学院地球科学与信息物理学院
专业班级测绘1004
学生学号
2013年 10月 28 日
一、试验目的及要求
已知ALOS卫星为用户提供的轨道数据,总共有28个轨道位置点,包括轨道点的时间、空间位置(x,y,z)及其在该点的速度(dx,dy,dz),任意两个轨道点的获取时间相隔为60秒。
要求利用各种数据插值方法计算数据获取时间内任意时刻的卫星所在的位置。
数据文件“LED-ALPSRP063392880-P1.1__D.orbit.txt”提供了卫星平台的相关参数及轨道数据。
请编写程序实现轨道数据的读出、数据插值及轨道加密后的数据文件的存储。
并用三维绘图命令画出地球及相应轨道
二、试验过程
1、数据读取
2、拉格朗日内插法
lagrange
3、文件存储
三、试验代码
fid =
fopen('F:\MATLAB_exp2\LED-ALPSRP063392880-P1.1__D.orbit.txt','r'); vec_num = textscan(fid,'%s%n',1);
vec_num=vec_num{2};
vec_time= textscan(fid,'%s%n%s',1);
vec_time=vec_time{2};
vec_intv=textscan(fid,'%s%n%s',1);
vec_intv=vec_intv{2};
mat_pos=zeros(28,3);
mat_velo=zeros(28,3);
for i=1:28
vec_pos=textscan(fid,'%s%n%n%n%s%s%s',1);
vec_velo=textscan(fid,'%s%n%n%n%s%s%s',1);
mat_pos(i,:)=[vec_pos{2} vec_pos{3} vec_pos{4}];
mat_velo(i,:)=[vec_velo{2} vec_velo{3} vec_velo{4}];
end
fclose(fid)
XT=mat_pos(:,1);
XT=XT';
YT=mat_pos(:,2);
YT=YT';
ZT=mat_pos(:,3);
ZT=ZT';
X1=mat_velo(:,1);
X1=X1';
Y1=mat_velo(:,2);
Y1=Y1';
Z1=mat_velo(:,3);
Z1=Z1';
t=vec_time:60:(vec_time+60*27);
t_interp=vec_time:1:(vec_time+60*27);
y0_x=XT;
y0_y=YT;
y0_z=ZT;
y1_x=X1;
y1_y=Y1;
y1_z=Z1;
xxx = lagrange(t,y0_x,t_interp);
yyy = lagrange(t,y0_y,t_interp);
zzz = lagrange(t,y0_z,t_interp);
plot3(xxx,yyy,zzz);
fid2 = fopen('data.dat','w');
fprintf(fid2,'number_of_state_vectors: %d\r\n',length(t_i nterp));
fprintf(fid2,'time_of_first_state_vector: %d s\r\n',vec_time); fprintf(fid2,'state_vector_interval: 1 s\r\n');
for i=1:length(t_interp)
fprintf(fid2,'state_vector_position_ %d: %.4f %.4f %.4f m m m\r\n',i,xxx(1,i),yyy(1,i),zzz(1,i));
end
fclose(fid2);
四、试验心得
由于近期在准备考取武汉大学的研究生,因此时间较为紧张,所以试验做的相对仓促,只是完成了数据的读取、拉格朗日内插和数据的存储等步骤,但通过这些简单的步骤的编写,还是让我对Matlab这款程序开发软件的强大功能有了更深入的了解,受益良多,所做不足之处在此表示十分抱歉,还望老师谅解!。