可视化GUI的矩阵特征值的Jacobi求解.docx
- 文档编号:10432832
- 上传时间:2023-02-11
- 格式:DOCX
- 页数:14
- 大小:205.46KB
可视化GUI的矩阵特征值的Jacobi求解.docx
《可视化GUI的矩阵特征值的Jacobi求解.docx》由会员分享,可在线阅读,更多相关《可视化GUI的矩阵特征值的Jacobi求解.docx(14页珍藏版)》请在冰豆网上搜索。
可视化GUI的矩阵特征值的Jacobi求解
课程设计(论文)任务书
软件 学 院 10软件工程+桥梁 专 业 三 班
一、课程设计(论文)题目 可视化(GUI)的矩阵特征值的Jacobi求解
二、课程设计(论文)工作自2012年6月08日起至2012年6月14日止。
三、课程设计(论文)地点:
电气学院机房
四、课程设计(论文)内容要求:
1.本课程设计的目的
(1)熟练掌握MATLAB语言的基本知识和技能;
(2)熟悉MATLAB下的GUI程序设计;
(3)熟悉MATLAB矩阵特征值Jacobi求解功能;
(4)培养分析、解决问题的能力;提高学生的科技论文写作能力。
2.课程设计的任务及要求
1)基本要求:
(1)利用matlab中的GUI设计窗口设计一个界面程序。
其中主界面包含控制背景颜
色的菜单;
(2)含有一个按钮控件,它的作用能够对一个文件的数据进行Jacobi求解;
(3)文件名通过一个编辑控件由用户给定,给定文件内包含要求解的矩阵;
(4)矩阵特征值的解能够在另一个文本控件中显示。
2)创新要求:
GUI界面使程序更加友好、美观和合理
3)课程设计论文编写要求
(1)要按照课程设计模板的规格书写课程设计论文
(2)论文包括目录、正文、心得体会、参考文献等
(3)课程设计论文用B5纸统一打印,装订按学校的统一要求完成
4)答辩与评分标准:
(1)完成原理分析:
20分;
(2)完成设计过程:
40分;
(3)完成调试:
20分;
(4)回答问题:
20分;
5)参考文献:
(1)刘卫国.MATLAB程序设计与应用(第二版).北京:
高等教育出版社,2008.
(2)陈壵光毛涛涛王正林王玲.精通MATLABGUI设计.电子工业出版社,2011.
(3)金一庆陈越.数值方法.机械工业出版社,2000.
6)课程设计进度安排
内容天数 地点
构思及收集资料2 图书馆
编程设计与调试1 实验室
撰写论文2 图书馆、实验室
学生签名:
2012年6月22日
课程设计(论文)评审意见
(1)完成原理分析(20分):
优( )、良( )、中( )、一般( )、差( );
(2)设计分析 (20分):
优( )、良( )、中( )、一般( )、差( );
(3)完成调试 (20分):
优( )、良( )、中( )、一般( )、差( );
(4)翻译能力 (20分):
优( )、良( )、中( )、一般( )、差( );
(5)回答问题 (20分):
优( )、良( )、中( )、一般( )、差( );
(6)格式规范性及考勤是否降等级:
是( )、否( )
(7)总评分数 优( )、良( )、中( )、一般( )、差( );
评阅人:
职称:
讲师
2012年6月25日
目录
1.MATLAB简介与应用4
2.GUI简介及特点5
特点5
3.Jacobi方法简介6
3.1jacobi迭代原理6
3.2jacobi迭代特点6
4.Jacobi求解矩阵特征值程序设计6
5.Jacobi求解矩阵特征值程序8
6.课设学习心得11
7.参考文献:
12
8.附录12
1.MATLAB简介与应用
MATLAB简介及应用
MATLAB的名称源自MatrixLaboratory,它是一种科学计算软件,专门以矩阵的形式处理数据。
MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作,而且利用MATLAB产品的开放式结构,可以非常容易地对MATLAB的功能进行扩充,从而在不断深化对问题认识的同时,不断完善MATLAB产品以提高产品自身的竞争能力。
目前MATLAB产品族可以用来进行:
∙数值分析
∙数值和符号计算
∙工程与科学绘图
∙控制系统的设计与仿真
∙数字图像处理
∙数字信号处理
∙通讯系统设计与仿真
∙财务与金融工程
主要的典型应用包括:
∙控制系统的应用与开发——快速控制原型与硬件在回路仿真的统一平台Concurrent、A&D、NI;
∙信号处理系统的设计与开发——全系统仿真与快速原型验证,TIDSP、Lyrtech等信号处理产品软硬件平台;
∙通信系统设计与开发——结合RadioLab3G和Candence等产品;
∙机电一体化设计与开发——全系统的联合仿真,结合Easy5、Adams等。
2.GUI简介及特点
由Xerox(施乐)首先发明。
如Windows是以“wintel标准”方式操作的,因为你可以用鼠标来点击按钮来进行操作,很直观。
而DOS就不具备GUI,所以他只能输入命令。
DOS的这种界面叫CLI(CommandlineUserInterface)命令行模式的人机接口。
GUI是GraphicalUserInterface的简称,即图形用户界面,通常人机交互图形化用户界面设计经常读做“goo-ee”准确来说GUI就是屏幕产品的视觉体验和互动操作部分。
GUI是一种结合计算机科学、美学、心理学、行为学,及各商业领域需求分析的人机系统工程,强调人—机—环境三者作为一个系统进行总体设计。
这种面向客户的系统工程设计其目的是优化产品的性能,使操作更人性化,减轻使用者的认知负担,使其更适合用户的操作需求,直接提升产品的市场竞争力。
GUI即人机交互图形化用户界面设计。
纵观国际相关产业在图形化用户界面设计方面的发展现状,许多国际知名公司早已意识到GUI在产品方面产生的强大增值功能,以及带动的巨大市场价值,因此在公司内部设立了相关部门专门从事GUI的研究与设计,同业间也成立了若干机构,以互相交流GUI设计理论与经验为目的。
随着中国IT产业,移动通讯产业,家电产业的迅猛发展,在产品的人机交互界面设计水平发展上日显滞后,这对于提高产业综合素质,提升与国际同等业者的竞争能力等等方面无疑起了制约的作用。
特点
GUI的广泛应用是当今计算机发展的重大成就之一,他极大地方便了非专业用户的使用。
人们从此不再需要死记硬背大量的命令,取而代之的是可以通过窗口、菜单、按键等方式来方便地进行操作。
而嵌入式GUI具有下面几个方面的基本要求:
轻型、占用资源少、高性能、高可靠性、便于移植、可配置等特点。
3.Jacobi方法简介
3.1jacobi迭代原理
4.Jacobi求解矩阵特征值程序设计
functionD=Jacobi(A)B=A;[n,n]=size(A);flag=1;%设定标志E=abs(B-diag(diag(B)));
[m1,p]=max(E);%求矩阵的最大元[m2,q]=max(m1);p=p(q);ifp==q%处理本身就是对角阵的情况
B=diag(B);elsewhile(flag==1)y=abs(B(q,q)-B(p,p));ify==0%x=2*B(p,q);c=sin(pi/4);s=sign(x)*c;elsex=sign(B(p,p)-B(q,q))*2*B(p,q);c=sqrt((1+y/(sqrt(x^2+y^2)))/2);s=x/(2*c*(sqrt(x^2+y^2)));endG=eye(n);G(p,p)=c;%利用sin,cos构造正交矩阵
G(q,q)=c;G(p,q)=s;G(q,p)=-s;B=G*B;B=B*G';E=abs(B-diag(diag(B)));S=sqrt(sum(sum(E.^2)));eps=S+0.0001;%设定精度
if(S 5.Jacobi求解矩阵特征值程序 通过点击“背景颜色”菜单改变程序背景颜色 输入一个矩阵的运行结果 6.课设学习心得 经过这次课设,使我初步掌握了GUI界面程序设计,界面设计感觉挺简单的,但是个人设计能力还是不太行,界面觉得不够人性化,颜色搭配的不够好。 程序要解决的问题就是用雅克比求解矩阵的特征值,说实话,这对于一个上课没怎么听的人要写出这个程序真的很难,最后是经过XX和同学的大力帮助下完成的,解决了函数功能实现的问题就是实现按钮与函数功能的链接问题,这个感觉比写雅克比求解特征值的程序简单多了,还有个改变界面背景颜色的感觉也挺容易的,这次课设还是有一丁点成就感,毕竟最关键的代码是XX和同学的大力帮助下写的,虽然学到的不是很多,但毕竟还是学到了一些东西,最后感谢热心帮助我的同学! 谢谢! 7.参考文献: (1)刘卫国.MATLAB程序设计与应用(第二版).北京: 高等教育出版社,2008. (2)陈壵光毛涛涛王正林王玲.精通MATLABGUI设计.电子工业出版社,2011. (3)金一庆陈越.数值方法.机械工业出版社,2000. 8.附录: functionvarargout=zsb(varargin)%ZSBM-fileforzsb.fig%ZSB,byitself,createsanewZSBorraisestheexisting%singleton*.%%H=ZSBreturnsthehandletoanewZSBorthehandleto%theexistingsingleton*.%%ZSB('CALLBACK',hObject,eventData,handles,...)callsthelocal%functionnamedCALLBACKinZSB.Mwiththegiveninputarguments.%%ZSB('Property','Value',...)createsanewZSBorraisesthe%existingsingleton*.Startingfromtheleft,propertyvaluepairsare%appliedtotheGUIbeforezsb_OpeningFunctiongetscalled.An%unrecognizedpropertynameorinvalidvaluemakespropertyapplication%stop.Allinputsarepassedtozsb_OpeningFcnviavarargin.%%*SeeGUIOptionsonGUIDE'sToolsmenu.Choose"GUIallowsonlyone%instancetorun(singleton)".%%Seealso: GUIDE,GUIDATA,GUIHANDLES%Copyright2002-2003TheMathWorks,Inc.%Edittheabovetexttomodifytheresponsetohelpzsb%LastModifiedbyGUIDEv2.520-Jun-201213: 12: 53%Begininitializationcode-DONOTEDITgui_Singleton=1;gui_State=struct('gui_Name',mfilename,...'gui_Singleton',gui_Singleton,...'gui_OpeningFcn',@zsb_OpeningFcn,...'gui_OutputFcn',@zsb_OutputFcn,...'gui_LayoutFcn',[],...'gui_Callback',[]);ifnargin&&ischar(varargin{1})gui_State.gui_Callback=str2func(varargin{1});endifnargout[varargout{1: nargout}]=gui_mainfcn(gui_State,varargin{: });elsegui_mainfcn(gui_State,varargin{: });end%Endinitializationcode-DONOTEDIT%---Executesjustbeforezsbismadevisible.functionzsb_OpeningFcn(hObject,eventdata,handles,varargin)%Thisfunctionhasnooutputargs,seeOutputFcn.%hObjecthandletofigure%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%varargincommandlineargumentstozsb(seeVARARGIN)%Choosedefaultcommandlineoutputforzsbhandles.output=hObject;%Updatehandlesstructureguidata(hObject,handles);%UIWAITmakeszsbwaitforuserresponse(seeUIRESUME)%uiwait(handles.figure1);%---Outputsfromthisfunctionarereturnedtothecommandline.functionvarargout=zsb_OutputFcn(hObject,eventdata,handles)%varargoutcellarrayforreturningoutputargs(seeVARARGOUT);%hObjecthandletofigure%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%Getdefaultcommandlineoutputfromhandlesstructurevarargout{1}=handles.output;functionedit1_Callback(hObject,eventdata,handles)%hObjecthandletoedit1(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%Hints: get(hObject,'String')returnscontentsofedit1astext%str2double(get(hObject,'String'))returnscontentsofedit1asadouble%---Executesduringobjectcreation,aftersettingallproperties.functionedit1_CreateFcn(hObject,eventdata,handles)%hObjecthandletoedit1(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesempty-handlesnotcreateduntilafterallCreateFcnscalled%Hint: editcontrolsusuallyhaveawhitebackgroundonWindows.%SeeISPCandCOMPUTER.ifispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));end%---Executesonbuttonpressinpushbutton1.functionpushbutton1_Callback(hObject,eventdata,handles)%hObjecthandletopushbutton1(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)A=str2num(get(handles.edit1,'string'));B=num2str((Jacobi(A))');set(handles.text1,'string',B);%---Executesonbuttonpressinpushbutton2.functionpushbutton2_Callback(hObject,eventdata,handles)%hObjecthandletopushbutton2(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)close;%--------------------------------------------------------------------functionUntitled_1_Callback(hObject,eventdata,handles)%hObjecthandletoUntitled_1(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)functionB=Jacobi(A)B=A;[n,n]=size(A);flag=1;E=abs(B-diag(diag(B))); [m1,p]=max(E); [m2,q]=max(m1);p=p(q);ifp==qB=diag(B);elsewhile(flag==1)y=abs(B(q,q)-B(p,p));ify==0x=2*B(p,q);c=sin(pi/4);s=sign(x)*c;elsex=sign(B(p,p)-B(q,q))*2*B(p,q);c=sqrt((1+y/(sqrt(x^2+y^2)))/2);s=x/(2*c*(sqrt(x^2+y^2)));endG=eye(n);G(p,p)=c; G(q,q)=c;G(p,q)=s;G(q,p)=-s;B=G*B;B=B*G';E=abs(B-diag(diag(B)));S=sqrt(sum(sum(E.^2)));eps=S+0.0001;if(S
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 可视化 GUI 矩阵 特征值 Jacobi 求解
![提示](https://static.bdocx.com/images/bang_tan.gif)