基于matlab简易矩阵计算器

上传人:第*** 文档编号:61593132 上传时间:2018-12-05 格式:DOCX 页数:21 大小:562.21KB
返回 下载 相关 举报
基于matlab简易矩阵计算器_第1页
第1页 / 共21页
基于matlab简易矩阵计算器_第2页
第2页 / 共21页
基于matlab简易矩阵计算器_第3页
第3页 / 共21页
基于matlab简易矩阵计算器_第4页
第4页 / 共21页
基于matlab简易矩阵计算器_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《基于matlab简易矩阵计算器》由会员分享,可在线阅读,更多相关《基于matlab简易矩阵计算器(21页珍藏版)》请在金锄头文库上搜索。

1、MATLAB程序设计程序设计报告设计题目:简易矩阵计算器班 级:021231姓 名:余颖智学 号:02123021目录1. 设计目标2. 设计内容3. 设计思想4. 设计说明5. 设计步骤及程序代码6. 运行计算器7. 总结1. 设计目标1.熟悉MATLAB的主要控件使用方法。2.熟悉MATLAB的GUI设计流程。2.设计内容设计一个简易的矩阵计算器,通过对简单应用矩阵计算器的设计,编制、调试实现矩阵相加减,矩阵的转置等简单运算,以学习应用MATLAB编写程序原理,加深对MATLAB的学习及应用。3.设计思想基于MATLAB中GUI界面的设计,通过创建类成员函数成员变量,编辑控件创建消息映射,

2、调用信息函数完成数据的输入输出,实现计算功能。生成简单的应用软件。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);i

3、A 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.M

4、atrix_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(hO

5、bject, 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.

6、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 = num2st

7、r(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

8、);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(han

9、dles.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的行列式

10、,其执行代码如下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.Matri

11、x_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(hand

12、les.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.;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号