版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计仿真技术综合设计报告题 目: Matlab报告 班 级: 姓 名: 学 号: 指导教师: 成 绩: 电子与信息工程学院信息与通信工程系1 求最大值和最小值1.1 题目输入10个数,求其中最大数和最小数。要求分别用循环结构和调用MATLAB的max函数、min函数来实现。1.2 用到的函数input:请求用户输入 max:取数组中的最大值min:取数组中最小值1.2 流程图图1-1求最大值最小值流程图1.4 运行截图图1-2调用max和min函数运行截图图1-2运用循环方法运行截图2 求Fibonacci数列2.1 题目求Fibonacci数列。(1)大于4000的最小项.(2)5000
2、之内的项数2.2什么是Fibonacci数列即斐波那契数,亦称之为斐波那契数列(意大利语: Successione di Fibonacci),又称黄金分割数列、费波那西数列、费波拿契数、费氏数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、在数学上,斐波纳契数列以如下被以递归的方法定义:F0=0,F1=1,Fn=Fn-1+Fn-2(n=2,nN*),用文字来说,就是斐波那契数列列由 0 和 1 开始,之后的斐波那契数列系数就由之前的两数相加。(百度百科)2.2 用到的函数length 取得一个对象的长度2.3 流程图图2-1 2求Fibonacci数列流程图2.4 运行截图图
3、2-2 Fibonacci运行截图3 用求逆解法和直接解法解方程组3.1 题目解方程组Axb,分别用求逆解法与直接解法求其解3.2 用到的函数inv 矩阵求逆3.3 流程图图3-1用求逆解法和直接解法解方程组流程图3.4 运行截图图3-2用求逆解法和直接解法解方程组运行截图4 求N阶方阵A的行列式4.1 题目编一个m程序,求N阶方阵A的行列式的值。4.2 用到的函数size(A): 获取矩阵的行数和列数,当只有一个输出参数时,返回一个行向量,该行向量的第一个元素是数组的行数,第二个元素是数组的列数(多维,而length是取最大的那一维)。4.3流程图图4-1求N阶方阵A的行列式流程图4.4 运
4、行截图图4-2求N阶方阵A的行列式运行截图5 计算xi=0.2*i各点上的P(xi)5.1 题目 今有多项式P1(x)=x4-2x+1,P2(x)=x2+4x-0.5,要求先求得P(x)=P1(x)+P2(x),然后计算xi=0.2*i各点上的P(xi)(i=0,1,2,5)值。用到的函数poly2sym: 把系数数组转换为符号多项式.5.2 流程图图5-1 计算xi=0.2*i各点上的P(xi)流程图5.3 运行截图图5-2 计算xi=0.2*i各点上的P(xi)运行截图6 一维数组倒序6.1 题目 试编一个m程序,将一维数组x中的N个数按颠倒的次序重新存储。如N=5,原来x为:x= 1 3
5、 5 7 9 而经过颠倒处理后x中数据的次序应该为:x= 9 7 5 3 1 用到的函数rot90:旋转数组90(倒序).6.2 流程图图6-1 一维数组倒序流程图6.3 运行截图图6-2 一维数组倒序运行截图7 绘制二维曲线7.1 题目 在0 2范围内绘制二维曲线图y=sin(x)*cos(5x)。用到的函数plot: 二维曲线绘图。7.2 流程图图7-1绘制二维曲线流程图7.3 运行截图图7-2绘制二维曲线运行截图8 名字转二进制再以脉冲绘图输出5.1 题目 把自己姓名中的各个拼音字母(小写)所对应的ASCII值转换为二进制序列,并用二进制脉冲绘图表示出来。用到的函数double: 用do
6、uble强制转换后得到的是ASCII值.dec2bin: dec2bin把ASCII转换成一个字符串形式表示的二进制数. str2num: string转number.stem: stem画出来是离散函数,杆图。 plot是连续函数.流程图图8-1名字转二进制再以脉冲绘图输出流程图8.2 运行截图图8-2名字转二进制再以脉冲绘图输出运行截图图5-2 5计算xi=0.2*i各点上的P(xi)运行截图9 GUI与SIMULINK9.1 题目设计一个第七章提到的GUI界面、第八章提到的SIMULINK模型的设计。9.2 流程图图9-1 GUI与SIMULINK流程图9.3设计思路总因为题目要求是设计
7、需要结合GUI界面以及Simulink,所以决定尝试运用GUI来控制Simulink中的参数,实现两者的结合,首先要在Simulink中设计了一个简单的仿真电路,接着进行GUI的设计,最后是编写脚本,通过get函数获取相应参数,再运用set_param更改相应Simulink中的参数,最后用sim函数运行,再通过axes和plot讲结果显示到GUI上即完成了一个GUI结合Simulink的简单设计。9.4 运行截图图9-2 GUI与SIMULINK运行截图9.5 不足及改进首先是界面上,由于水平有限以及时间的仓促,没有设计出比较科学的界面,界面不够美观,同时有个很大的问题,就是脚本将scope
8、的前十个数显示在坐标上时,可能会因为不够十个数而发生数组越界的报错,如果是大于了10个数,没有什么问题,这是不行的,在日后还要改进,另外就是结束按钮的功能,因为水平有限,研究了半天,还是没整出来,还需更加努力。10 拉普拉斯变换10.1 题目 求信号f(t)=t*(e-3)*u(t)的拉普拉斯变换.用到的函数laplace:进行拉普拉斯变换.10.2 流程图图10-1拉普拉斯变换流程图10.3 运行截图图10-2拉普拉斯变换运行截图11 拉普拉斯逆变换11.1 题目 求F(s)=(s3+5s2+9s+7)/(s2+3s+2)的拉普拉斯反变换。用到的函数ilaplace:进行拉普拉斯反变换.11
9、.2流程图图11-1拉普拉斯反变换流程图11.3运行截图图11-2拉普拉斯反变换运行截图12 傅里叶变换12.1 题目 求信号f(t)=u(t+1)-u(t-1)的傅里叶变换用到的函数fourier:傅里叶变换函数.12.2 流程图图12-1傅里叶变换流程图12.3 运行截图图12-2傅里叶变换运行截图13 实验心得通过这次学习,我对matlab这个软件有了更加熟悉的认识,特别是学到了交互式的GUI编程,感觉很方便,也很容易上手。对于matlab语言,感觉和其他语言比较起来,也是十分类似,在有了其他几门编程语言的基础上,基本上没有什么难度,并且matlab内置了许多函数,在解决某些问题方面,只
10、需要一个函数就可以搞定了,很方便。14 附件14.1 求最大值最小值代码for i=1:10a(i)=input(please input a number:);endmaxa=max(a);mina=min(a);maxamina%运行后会在命令窗出现for i=1:10 a(i)=input(请输入10个数字:);endmaxa = a(1);mina = a(1);for i=2:10; if maxaa(i) mina=a(i); endendmaxamina14.2 质求Fibonccif(1) = 1;f(2) = 1;for i=3:30;%猜 f(i) = f(i-1)+f(i
11、-2);endfx=fy= length(x);for i=1:y if x(i)4000&x(i)5000 b = x(i); disp(min=),disp(b(1) disp(i=),disp(i)%肯定只有一个了 endend14.3用求逆解法和直接解法解方程组源代码A=2 -1 0 0 0;-1 2 -1 0 0;0 -1 2 -1 0;0 0 -1 2 -1;0 0 0 -1 2; b=1;0;0;0;0;x=inv(A)*bx=Ab14.4 位数求和源代码function s=mydet(A)n=size(A);if (n(1)=n(2)%行不等于列,也就不是方阵return;e
12、ndn=n(1);if (n=1)%只有一行的也不用算了s=A;return;ends=0;for i=1:ns=s-(-1)i*A(1,i)*mydet(A(2:n,1:i-1 i+1:n);%1:i-1 表示一个行向量: 1,2,3,.,i-1%i+1:n 表示另一个行向量:i+1, i+2, ., n%逗号用于按行连接上述两个行向量,得到 1,2,3,.,i-1, i+1, i+2, ., n%A(2:n,1:i-1 i+1:n)取这一列的所有元素%行列式的值:现将左下部分等价转换为零,然后对角线上的各数的积即为其值。end14.5 计算xi=0.2*i各点上的P(xi)源代码p1=1.
13、0 0.0 0.0 -2.0 1.0; p2=0.0 0.0 1.0 4.0 -0.5; p1x=poly2sym(p1);%把系数数组转换为符号多项式。 p2x=poly2sym(p2);%第二个参数没有就是默认用x。 disp(p1x);disp(p2x);p=p1x+p2x disp(p);14.6 一位数组倒序源代码x= 1 3 5 7 9 xx=rot90(rot90(x)14.7 绘制二维曲线源代码x = 0:pi/10:2*pi; %单调递增的数列0 pi/10 pi/10*2 . 2*pi pi就是圆周率y = sin(x).*cos(5*x);%y中的每一个值都是通过x中对应
14、位置的值算出来的;plot(x,y)14.8 名字转二进制再以脉冲绘图输出源代码name=lugang; % b=dec2bin(int8(s) b=double(name) %用double强制转换后得到的是ASCII值c=dec2bin(b) %dec2bin把ASCII转换成一个字符串形式表示的二进制数 c=c%转置%转置格式不一样:A中的A是m x n的矩阵;A.中的A是n x 1的向量stem(str2num(c(:)%string转number%stem画出来是离散函数,杆图。 plot是连续函数14.9 GUI与SIMULINKfunction varargout = LG(va
15、rargin)%LG M-file for LG.fig% LG, by itself, creates a new LG or raises the existing% singleton*.% H = LG returns the handle to a new LG or the handle to% the existing singleton*.% LG(Property,Value,.) creates a new LG using the% given property value pairs. Unrecognized properties are passed % varar
16、gin to LG_OpeningFcn. This calling syntax produces a% warning when there is an existing singleton*.% LG(CALLBACK) and LG(CALLBACK,hObject,.) call the% local function named CALLBACK in LG.M with the given input% arguments.% *See GUI Options on GUIDEs Tools menu. Choose GUI allows only one% instance t
17、o run (singleton).% See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help LG % Last Modified by GUIDE v2.5 25-Jun-2016 19:43:29 % Begin initialization code - DO NOT EDITgui_Singleton = 1;%你第一次运行gui的时候,没有关闭 %第二次再运行的时候,matlab不会新开一个gui,而是把第一次那个gui拿到前面。gui_State = str
18、uct(gui_Name, mfilename, . gui_Singleton, gui_Singleton, . gui_OpeningFcn, LG_OpeningFcn, . gui_OutputFcn, LG_OutputFcn, . gui_LayoutFcn, , . gui_Callback, );if nargin & ischar(varargin1)%必须有输入且输入的变量中的第一个必须是字符! gui_State.gui_Callback = str2func(varargin1);end if nargout varargout1:nargout = gui_main
19、fcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:);end% End initialization code - DO NOT EDIT % - Executes just before LG is made visible.function LG_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject handle to figure% eventdata
20、 reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% varargin unrecognized PropertyName/PropertyValue pairs from the% command line (see VARARGIN) % Choose default command line output for LGhandles.output = hObject; % Update handles stru
21、ctureguidata(hObject, handles); % UIWAIT makes LG wait for user response (see UIRESUME)% uiwait(handles.figure1);if isempty(find_system(Name,LG_mdl), open_system(LG_mdl); figure(handles.figure1)end %initial the GUIset(handles.edit1,String,1);set(handles.edit2,String,1); % - Outputs from this functio
22、n are returned to the command line.function varargout = LG_OutputFcn(hObject, eventdata, handles)% varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data
23、 (see GUIDATA) % Get default command line output from handles structurevarargout1 = handles.output; % - 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
24、 of MATLAB% handles structure with handles and user data (see GUIDATA)% Pushbutton4是ok按键的TAG;str=get(handles.edit1,string);%edit1是输入框Gain的tag,从 string属性中读取输入值;该值的大小就是增益大小;str1=get(handles.edit2,string); %edit2是输入框Simulink的tag,从 string属性中读取输入值;该值的大小就是仿真运行时间; load_system(LG_mdl); %LG_mdl.mdl. set_para
25、m(LG_mdl/Gain,Gain,str); %将参数Gain值设为str; %LG_mdl/Gain指明所要设置的Block的路径和名字;第2个Gain为参数名。sim(LG_mdl,str2num(str1); %运行simulink,运行时间为str2num(str1)axes(handles.axes1);plot(predata.signals.values(1:10,1)%有个bug数组越界,暂时不知道怎么解决%取SCOPE的前10个数,并将其显示在在坐标上,predata为Struct类型:axes(handles.axes2);plot(postdata.signals.v
26、alues(1:10,1)save_system(LG_mdl); %保存,不保存的话会弹出错误; % - Executes on button press in pushbutton6.function pushbutton6_Callback(hObject, eventdata, handles)% hObject handle to pushbutton6 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and use
27、r data (see GUIDATA)disp(这功能还没整!); function edit1_Callback(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,String) returns contents of e
28、dit1 as text% str2double(get(hObject,String) returns contents of edit1 as a double % - Executes during object creation, after setting all properties.function edit1_CreateFcn(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MA
29、TLAB% handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows.% See ISPC and COMPUTER.if ispc & isequal(get(hObject,BackgroundColor), get(0,defaultUicontrolBackgroundColor) set(hObject,BackgroundColor,white);end function
30、edit2_Callback(hObject, eventdata, handles)% hObject handle to edit2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,String) returns contents of edit2 as text% str2double(get(hObject,String)
31、 returns contents of edit2 as a double % - Executes during object creation, after setting all properties.function edit2_CreateFcn(hObject, eventdata, handles)% hObject handle to edit2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles empty - handles not created until after all CreateFcns called % Hint:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年永福县医疗事业单位人员招聘考试备考题库及答案解析
- 2026年定南县医疗事业单位人员招聘笔试参考题库及答案解析
- 2026年新昌县医疗事业单位人员招聘考试参考题库及答案解析
- 2026年颍上县医疗事业单位人员招聘考试参考题库及答案解析
- 2026年昔阳县医疗事业单位人员招聘笔试备考题库及答案解析
- 2026年班玛县医疗事业单位人员招聘考试备考试题及答案解析
- 2026年安龙县医疗事业单位人员招聘考试参考题库及答案解析
- 2026年蓬安县医疗事业单位人员招聘笔试备考试题及答案解析
- 2026年房县带编教师招聘笔试备考题库及答案解析
- 2026年新昌县医疗事业单位人员招聘笔试模拟试题及答案解析
- 特种设备使用单位安全风险 日管控、周排查、月调度
- 文化项目创意与策划
- 《大学生劳动教育》考试复习题库(含答案)
- 沉井与气压沉箱施工规范
- 《烧(创)伤的急救复苏与麻醉管理》智慧树知到课后章节答案2023年下中国人民解放军总医院第四医学中心
- 项目二-新车交付检验课件
- 自然地理学大气圈与气候系统课件
- 养老院院全员安全生产责任清单
- 急诊与灾难医学-第十四章 多器官功能障碍综合征
- 部编版六年级上道德与法治第1课 感受生活中的法律 课件
- GA 890-2018公安单警装备多功能腰带
评论
0/150
提交评论