matlab中字符能做四则运算吗

如题所述

在Matlab的命令行窗口,可以直接进行四则运算,也就是加减乘除。这里,我们换一种路径,改在GUI里实现四则运行,如图(1)所示:
这里写图片描述
图(1) 用Matlab GUI实现四则运算

  1)打开Matlab,点击工具栏上的【File】–》New–》GUI,命名为:addnum.fig
  2)在addnum.fig面板里,拖曳6个静态文本TXT控件、6个编辑框EDIT控件、4个按钮,6个EDIT控件的String属性值0,分别设置编辑框、按钮的String属性和Tag属性。如表(1)所示:
  
表(1) 设置控件的String与Tag属性
String Tag
编辑框a 0 edit_a
编辑框b 0 edit_b
编辑框a+b 0 edit_sum
编辑框a-b 0 edit_sub
编辑框a*b 0 edit_cheng
编辑框a/b 0 edit_chu
按钮[求和] 求和 addNum
按钮[求差] 求差 subNum
按钮[求积] 求积 chengNum
按钮[求商] 求商 chuNum
  3)编写4个按钮的Callback代码
  %%addnum.m 

%%相加
function addNum_Callback(hObject, eventdata, handles)

a = str2num(get(handles.edit_a,'String'));
b = str2num(get(handles.edit_b,'String'));
c = a+b;
str = num2str(c);

set(handles.edit_sum,'String',str);

%%相减
function subNum_Callback(hObject, eventdata, handles)

a2 = str2num(get(handles.edit_a,'String'));
b2 = str2num(get(handles.edit_b,'String'));
c2 = a2-b2;
str2 = num2str(c2);

set(handles.edit_sub,'String',str2);

%%相乘
function chengNum_Callback(hObject, eventdata, handles)

a2 = str2num(get(handles.edit_a,'String'));
b2 = str2num(get(handles.edit_b,'String'));
c2 = a2*b2;
str2 = num2str(c2);

set(handles.edit_ji,'String',str2);

%%相除
function chuNum_Callback(hObject, eventdata, handles)

a2 = str2num(get(handles.edit_a,'String'));
b2 = str2num(get(handles.edit_b,'String'));
if ( b2~=0)
c2 = a2/b2;
str2 = num2str(c2);
set(handles.edit_shang,'String',str2);
else
%disp('除数为0')
errordlg('除数不能为0!');
end
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
  4)在MatLab的命令行窗口,输入:addnum,弹出Untitled对话框,输入相应的数字,就可以进行加减乘除了。注意不要点击.fig文件,该文件只是资源文件,真正执行命令的文件是.m文件(脚本文件或函数文件)。如图(2)所示:
这里写图片描述
图(2) 切换目录到..\addnum,并输入命令:addnum,就可以进行GUI方式的四则运算了。

  详细代码,请看:
  http://download.csdn.net/detail/sanqima/9302393
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-07-10
clccleara=round(rand*90)+10;b=round(rand*90)+10;c=input('请输入一个四则运算符号,请用单引号括起来');switchccase'+'d=a+b;case'-'d=a-b;case'*'d=a*b;case'/'d=a/b;endd示范:请输入一个四则运算符号,请用单引号括起来'*'d=7520
相似回答