界面设计

效果展示

主体源码
%%矩阵相加a=str2num(get(handles.edit1,'string'));b=str2num(get(handles.edit2,'string'));[ia ja]=size(a);[ib jb]=size(b);if ia ~= ib | ja ~= jb |(ia ~= ib & ja ~= jb)c='error.Matrix dimensions must agree.';set(handles.text1,'String',c)guidata(hObject, handles);elseresult = a+b ;c= num2str(result);set(handles.text1,'String',c)guidata(hObject, handles);end%%矩阵相减a=str2num(get(handles.edit1,'string'));b=str2num(get(handles.edit2,'string'));[ia ja]=size(a);[ib jb]=size(b);if ia ~= ib | ja ~= jb |(ia ~= ib & ja ~= jb)c='error.Matrix dimensions must agree.';set(handles.text1,'String',c)guidata(hObject, handles);elseresult = a-b ;c= num2str(result);set(handles.text1,'String',c)guidata(hObject, handles);end%%矩阵点乘a=str2num(get(handles.edit1,'string'));b=str2num(get(handles.edit2,'string'));[ia ja]=size(a);[ib jb]=size(b);if ia ~= ib | ja ~= jb |(ia ~= ib & ja ~= jb)c='error.Matrix dimensions must agree.';set(handles.text1,'String',c)guidata(hObject, handles);elseresult = a.*b ;c= num2str(result);set(handles.text1,'String',c)guidata(hObject, handles);end%%矩阵相乘a=str2num(get(handles.edit1,'string'));b=str2num(get(handles.edit2,'string'));[ia ja]=size(a);[ib jb]=size(b);if ja ~= ibc='error.Inner matrix dimensions must agree.';set(handles.text1,'String',c)guidata(hObject, handles);elseresult = a*b ;c= num2str(result);set(handles.text1,'String',c)guidata(hObject, handles);end%%矩阵点除a=str2num(get(handles.edit1,'string'));b=str2num(get(handles.edit2,'string'));[ia ja]=size(a);[ib jb]=size(b);if ia ~= ib | ja ~= jb |(ia ~= ib & ja ~= jb)c='error.Matrix dimensions must agree.';set(handles.text1,'String',c)guidata(hObject, handles);elseresult = a./b ;c= num2str(result);set(handles.text1,'String',c)guidata(hObject, handles);end%%矩阵左除a=str2num(get(handles.edit1,'string'));b=str2num(get(handles.edit2,'string'));[ia ja]=size(a);[ib jb]=size(b);if ia ~= ibc='error.Matrix dimensions must agree.';set(handles.text1,'String',c)guidata(hObject, handles);elseresult = a\b ;c= num2str(result);set(handles.text1,'String',c)guidata(hObject, handles);end%%矩阵右除a=str2num(get(handles.edit1,'string'));b=str2num(get(handles.edit2,'string'));[ia ja]=size(a);[ib jb]=size(b);if ia ~= ibc='error.Matrix dimensions must agree.';set(handles.text1,'String',c)guidata(hObject, handles);elseresult = a/b ;c= num2str(result);set(handles.text1,'String',c)guidata(hObject, handles);end%%矩阵求秩a=str2num(get(handles.edit1,'string'));c=a';set(handles.text1,'string',num2str(c))a=str2num(get(handles.edit1,'string'));result =rank(a) ;c= num2str(result);set(handles.text1,'String',c)guidata(hObject, handles);%%求逆a=str2num(get(handles.edit1,'string'));[ia ja]=size(a);if ia~= jac='error.Matrix dimensions must agree.';set(handles.text1,'String',c)guidata(hObject, handles);elseif abs(det(a))<1e-6c='error.Matrix is singular to working precision.';set(handles.text1,'String',c)guidata(hObject, handles);elseresult = inv(a) ;c = num2str(result);set(handles.text1,'String',c)guidata(hObject, handles);endend%%求行列式a=str2num(get(handles.edit1,'string'));[ia ja]=size(a);if ia ~= jac='error.Matrix dimensions must agree.';set(handles.text1,'String',c)guidata(hObject, handles);elseresult = det(a) ;c= num2str(result);set(handles.text1,'String',c)guidata(hObject, handles);end%%求2-范数a=str2num(get(handles.edit1,'string'));result = norm(a);c = num2str(result);set(handles.text1,'String',c)guidata(hObject, handles)%%求LU分解a=str2num(get(handles.edit1,'string'));[L,U,P]=lu(a);result = [L;U;P] ;c= num2str(result);set(handles.text1,'String',c)guidata(hObject, handles)%%求AX=Ba=str2num(get(handles.edit1,'string'));b=str2num(get(handles.edit2,'string'));[ia ja]=size(a);[ib jb]=size(b);if ia ~= ibc='error.';set(handles.text1,'String',c)guidata(hObject, handles);elseif ia ~=jac='error.Matrix must be square.';set(handles.text1,'String',c)guidata(hObject, handles);elseif det(a) == 0c='error.Matrix is singular to working precision.';set(handles.text1,'String',c)guidata(hObject, handles);elseresult = a\b ;c = num2str(result);set(handles.text1,'String',c)guidata(hObject, handles);endendenda=str2num(get(handles.edit1,'string'));result = rref(a);c= num2str(result);set(handles.text1,'String',c)guidata(hObject, handles);%%求特征值a=str2num(get(handles.edit1,'string'));[ia ja]=size(a);if ia ~= jac='error.Matrix must be square .';set(handles.text1,'String',c)guidata(hObject, handles);elseresult = eig(a) ;c= num2str(result);set(handles.text1,'String',c)guidata(hObject, handles);end%阶梯形a=str2num(get(handles.edit1,'string'));b=str2num(get(handles.edit2,'string'));[ia ja]=size(a);[ib jb]=size(b);if ia ~= ibc='error.Matrix dimensions must agree.';set(handles.edit34,'String',c)guidata(hObject, handles);elseresult = rref(a) ;c= num2str(result);set(handles.edit34,'String',c)guidata(hObject, handles);end%%求转置a=str2num(get(handles.edit1,'string'));[ia ja]=size(a);if ia ~= jac='error.Matrix must be square .';set(handles.edit34,'String',c)guidata(hObject, handles);elseresult =a' ;c= num2str(result);set(handles.edit34,'String',c)guidata(hObject, handles);end
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
菜单结构设计
菜单的设计只做点拨,不要照搬!!!通过Menu Editor创建如图所示的菜单。“File”菜单调用简易计算器、科学计算器、程序员计算器及退出;“Help”菜单调用程序说明和版权所有。

“File”菜单设计
通过设置简易计算器、科学计算器和程序员计算器所在面板的可视性属性,实现点击“File”菜单下的“简易计算器”、“科学计算器”和“程序员计算器”选项调用相应的计算器模块。调用简易计算器模块时,只需设置简易计算器所在面板的可视化属性值为“on”,其他计算器的可视化属性值为“off”;设置“简易计算器”菜单项的被选中(checked)属性值为“on”,其余菜单项的checked属性值为“off”。其余模块调用的原理与其类似。代码如下:
function simple_Callback(hObject, eventdata, handles)set(handles.science_clc,'Visible','off');set(handles.simple_clc,'Visible','on');set(handles.clc_p,'Visible','off');set(handles.jy_clc,'Position',[103.8 20.769 84.0 33.692]);set(handles.simple,'checked','on');set(handles.science,'checked','off');set(handles.programmer,'checked','off');
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
- 1.
1036

被折叠的 条评论
为什么被折叠?



