




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MATLAB程序设计程序设计报告设计题目:简易矩阵计算器班 级:021231姓 名:余颖智学 号:02123021目录1. 设计目标2. 设计内容3. 设计思想4. 设计说明5. 设计步骤及程序代码6. 运行计算器7. 总结1. 设计目标1.熟悉MATLAB的主要控件使用方法。2.熟悉MATLAB的GUI设计流程。2.设计内容设计一个简易的矩阵计算器,通过对简单应用矩阵计算器的设计,编制、调试实现矩阵相加减,矩阵的转置等简单运算,以学习应用MATLAB编写程序原理,加深对MATLAB的学习及应用。3.设计思想基于MATLAB中GUI界面的设计,通过创建类成员函数成员变量,编辑控件创建消息映射,调用信息函数完成数据的输入输出,实现计算功能。生成简单的应用软件。4.设计说明1) 包含的功能有:加、减、乘、转置等。2) 输入的原始数据分别为A或B矩阵,分别显示在不同标签中,运算的结果则显示在输出部分。3) 计算功能基本上是用系统内部函数。4) 程序能够自动判断输入数据的正确性,如不能输入(1)。5.设计步骤及只要代码1) 打开MATLAB,点击,出现GUI的2) 设计计算器版面直至3) 对功能键进行设计执行A矩阵加B矩阵,其执行代码如下A = eval(get(handles.Matrix_A,String);B = eval(get(handles.Matrix_B,String);iA jA=size(A);iB jB=size(B);if iA = iB | jA = jB |(iA = iB & jA = jB) R=error.Matrix dimensions must agree.; set(handles.Answer,string,R) guidata(hObject, handles);else result=A + B ; R =num2str(result); set(handles.Answer,string,R) guidata(hObject, handles);end执行A矩阵减B矩阵,其执行代码如下A = eval(get(handles.Matrix_A,String);B = eval(get(handles.Matrix_B,String);iA jA=size(A);iB jB=size(B);if iA = iB | jA = jB |(iA = iB & jA = jB) R=error.Matrix dimensions must agree.; set(handles.Answer,String,R) guidata(hObject, handles);else result = A - B ; R = num2str(result); set(handles.Answer,String,R) guidata(hObject, handles);end执行A矩阵与B矩阵相乘,其执行代码如下A = eval(get(handles.Matrix_A,String);B = eval(get(handles.Matrix_B,String);iA jA=size(A);iB jB=size(B);if jA=iBR=error.Inner matrix dimensions must agree.;set(handles.Answer,String,R)guidata(hObject, handles);elseresult = A * B ;R = num2str(result);set(handles.Answer,String,R)guidata(hObject, handles);end执行A右除B矩阵,其执行代码如下A = eval(get(handles.Matrix_A,String);B = eval(get(handles.Matrix_B,String);iA jA=size(A);iB jB=size(B);if iA=iB 、 R=error.Matrix dimensions must agree.; set(handles.Answer,String,R) guidata(hObject, handles);else result = A B ; R = num2str(result); set(handles.Answer,String,R) guidata(hObject, handles);end执行A.*B,其执行代码如下A = eval(get(handles.Matrix_A,String);B = eval(get(handles.Matrix_B,String);result = A .* B ;R = num2str(result);set(handles.Answer,String,R)guidata(hObject, handles);执行A./B,其执行代码如下A = eval(get(handles.Matrix_A,String);B = eval(get(handles.Matrix_B,String);result = A ./ B ;R = num2str(result);set(handles.Answer,String,R)guidata(hObject, handles);执行A的转置,其执行代码如下A = eval(get(handles.Matrix_A,String);result = A ;R = num2str(result);set(handles.Answer,String,R)guidata(hObject, handles); 执行A右除B,其执行代码如下A = eval(get(handles.Matrix_A,String);B = eval(get(handles.Matrix_B,String);iA jA=size(A);iB jB=size(B);if iA=iB R=error.Matrix dimensions must agree.; set(handles.Answer,String,R) guidata(hObject, handles);else result = A / B ; R = num2str(result); set(handles.Answer,String,R) guidata(hObject, handles);end执行求A的行列式,其执行代码如下A = eval(get(handles.Matrix_A,String);iA jA=size(A);if iA =jA R=error.Matrix must be square.; set(handles.Answer,String,R) guidata(hObject, handles);else result = det(A) ; R = num2str(result); set(handles.Answer,String,R) guidata(hObject, handles);end 执行求A的逆,其执行代码如下A = eval(get(handles.Matrix_A,String);iA jA=size(A);if iA =jA R=error.Matrix must be square.; set(handles.Answer,String,R) guidata(hObject, handles);else if det(A) = 0 R=error.Matrix is singular to working precision.; set(handles.Answer,String,R) guidata(hObject, handles); else result = inv(A) ; R = num2str(result); set(handles.Answer,String,R) guidata(hObject, handles); endend执行求A的非共轭转置,其执行代码如下A = eval(get(handles.Matrix_A,String);result = A. ;R = num2str(result);set(handles.Answer,String,R)guidata(hObject, handles); 执行求解系数阵为方阵且非奇异的线性方程组,其执行代码如下A = eval(get(handles.Matrix_A,String);B = eval(get(handles.Matrix_B,String);iA jA=size(A);iB jB=size(B);if iA = iB R=error.; set(handles.Answer,String,R) guidata(hObject, handles);else if iA =jA R=error.Matrix must be square.; set(handles.Answer,String,R) guidata(hObject, handles); else if det(A) = 0 R=error.Matrix is singular to working precision.; set(handles.Answer,String,R) guidata(hObject, handles); else result = AB ; R = num2str(result); set(handles.Answer,String,R) guidata(hObject, handles); end endend 执行求A的秩,其执行代码如下 A = eval(get(handles.Matrix_A,String);result = rank(A) ;R = num2str(result);set(handles.Answer,String,R)guidata(hObject, handles); 执行求A的平方,其执行代码如下A = eval(get(handles.Matrix_A,String);iA jA=size(A);if iA =jA R=error.Inputs must be a scalar and a square matrix.; set(handles.Answer,String,R) guidata(hObject, handles);elseresult = A2 ; R = num2str(result); set(handles.Answer,String,R) guidata(hObject, handles);end 执行求A的立方,其执行代码如下A = eval(get(handles.Matrix_A,String);iA jA=size(A);if iA =jA R=error.Inputs must be a scalar and a square matrix.; set(handles.Answer,String,R) guidata(hObject, handles); else result = A3 ; R = num2str(result); set(handles.Answer,String,R) guidata(hObject, handles);end 执行求A的特征值,其执行代码如下A = eval(get(handles.Matrix_A,String);iA jA=size(A);if iA =jA R=error.Matrix must be square.; set(handles.Answer,String,R) guidata(hObject, handles);else result = eig(A) ; R = num2str(result); set(handles.Answer,String,R) guidata(hObject, handles);end 执行求A开平方根,其执行代码如下A = eval(get(handles.Matrix_A,String);result = sqrt(A);R = num2str(result);set(handles.Answer,String,R) 执行计算矩阵范围(默认为2范数),其执行代码如下A = eval(get(handles.Matrix_A,String);result = norm(A);R = num2str(result);set(handles.Answer,String,R)guidata(hObject, handles); 执行对A的分解,其执行代码如下A = eval(get(handles.Matrix_A,String);L U = lu(A);result = L;U;R = num2str(result);set(handles.Answer,String,R)guidata(hObject, handles); 执行将矩阵A化为最简阶梯矩阵,其执行代码如下A = eval(get(handles.Matrix_A,String);result = rref(A);R = num2str(result);set(handles.Answer,String,R)guidata(hObject, handles); 4)对输出进行设计 输出框内有新添加的,使经过计算后的式子通过输出框显示。6.运行计算器 A+BA-BA*BA/LBA.*BA./BAA/Rdet(A)inv(A)A.Ax=BR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025安徽广播影视职业技术学院博士人才招聘10人考前自测高频考点模拟试题及答案详解参考
- 2025年第二季度(第一次)贵州黔东南州天柱县招聘全日制城镇公益性岗位8人考前自测高频考点模拟试题及答案详解(易错题)
- 2025复旦大学附属中山医院厦门医院长期招聘高层次人才25人(福建)考前自测高频考点模拟试题及答案详解(新)
- 2025河南省职工医院护理人员招聘60人考前自测高频考点模拟试题参考答案详解
- 2025河南鹤壁市市直单位第一批公益性岗位招聘26人考前自测高频考点模拟试题附答案详解
- 2025贵州毕节市七星关区招聘城市社区工作者186人模拟试卷及完整答案详解
- 2025年中国化妆品级补骨脂酚行业市场分析及投资价值评估前景预测报告
- 2025年湖南益阳市交通投资运营集团有限公司下属子公司公开招聘(第一批)模拟试卷及答案详解(易错题)
- 2025年甘肃省武威市事业单位已发布模拟试卷及答案详解(夺冠系列)
- 2025湖北交投集团部分中层管理岗位竞聘上岗20人模拟试卷及参考答案详解一套
- DL-T5704-2014火力发电厂热力设备及管道保温防腐施工质量验收规程
- 云南师大附中2024年数学高一下期末联考试题含解析
- CSPEN-成人营养筛查与评定量表2024(附评分表)
- 招标代理服务 投标方案(技术方案)
- 近红外脑功能成像临床应用专家共识
- MSOP(测量标准作业规范)测量SOP
- 水平三(五年级)体育《篮球:单手肩上投篮》说课稿课件
- 2023发电机自动准同期装置整定计算技术导则
- 月度工作总结
- 《C++语言基础》全套课件(完整版)
- 箱涵高支模方案
评论
0/150
提交评论