Matlab 构建可输入窗口进行BMI计算并通过GUI界面显示

        Matlab具有强大的计算功能,同时又具有人性化、可视化的操作界面GUI,可通过输入数据,对身高、体重的BMI进行计算,生成GUI界面并输出结果,该GUI界面未由guide函数实现,而是由inputdlg函数实现。

先看效果:

代码如下:

function BMI_callback()
%%通过窗口写入数据
prompt={'姓名','年龄','身高','体重'};
dlgtitle='BMI计算';
dims=1;
definput={'张三','XX','XXX','XX'};
opts='on';
answer=inputdlg(prompt,dlgtitle,dims,definput,opts);

%%导出数据给计算窗口
data=char(answer);
age=str2double(data(2,1:2));
height=str2double(data(3,1:3));
weight=str2double(data(4,1:2));

%%BMI计算及输出
consequence=BMI(height,weight);
vars = {'姓名','年龄','身高','体重','BMI'};
t0=char(answer(1,:));
con=num2cell(consequence);
t=[answer' con];
uit=uitable(t,vars,'Position',[100 200 315 60]);
end



function BMI=BMI(height,weight)
height=height/100;
BMI=weight/(height^2);
end

 本文是通过两个function函数实现的BMI计算功能,但为了后续其他功能的添加,分为了两个函数来传递数据。

Tips:

1、该answer的值为cell,后面在传递数组时,需要进行类型转换;

answer=inputdlg(prompt,dlgtitle,dims,definput,opts); 

转换:

data=char(answer);

age=str2double(data(2,1:2));

height=str2double(data(3,1:3));

weight=str2double(data(4,1:2));

 2、最终为了显示结果,将结果放在uitable中,结果t的类型为cell;

con=num2cell(consequence);

t=[answer' con];

3、BMI在计算时,matlab默认保留小数点后4位,可以用round函数,对小数点位数进行修改,这里不再赘述。BMI核心计算公式为:体重/身高^2;

4、关于inputdlg(创建收集用户输入的对话框)函数,可以通过help了解详细用法,其中opts为对话框设置,主要对个性化进行设置,指定为 'on' 或结构体。当 opts 设置为 'on' 时,用户可在水平方向调整对话框大小。当 opts 是结构体时,结构体字段指定下表中的选项。

字段
Resize'off'(默认值)或'on'。如果设置为'off',则不能调整对话框大小。如果设置为'on',则用户可以水平调整窗口大小
WindowStyle'modal'(默认值)或'normal'。如果设置为'modal',则用户必须先做出响应,然后才能与其他窗口交互
Interpreter

'none'(默认值)或'tex'。如果设置为'tex',则可以使用Tex呈现显示。对话框标题不受影响。

使用Tex标记可添加上标和下标、修改字体类型和颜色,以及在prompt文本包含特殊字符

  • 1
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

爱学习的呆子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值