MATLAB里面的GUID界面设计案例

文章目录

一、设计目的

二 、代码演示

总结


前言

本文主要是对MATLAB里面界面GUID设计简介以及案例举例。

一、设计目的

使用MATLAB制作一个GUID界面,实现数值计算比如矩阵运算和对求sin(x)或者cos(x)进行数据可视化绘制对应函数图形的操作,并将矩阵运算的的结果输出到Excel或者文本文件当中。请写出具体的MATLAB代码,要求调试正确无误,并且对每句代码进行解释,以及对应的输入输出示例,例如程序里面输入那个矩阵进行验证,图像绘制选择绘制sin还是cos图像

二 、代码演示

% 创建GUI界面
fig = uifigure('Name','数值计算GUI界面');

% 创建矩阵输入框
matrixLabel = uilabel(fig,'Position',[100 400 100 22],'Text','输入矩阵:');
matrixInput = uieditfield(fig,'numeric','Position',[200 400 200 22]);

% 创建矩阵运算选择框
operationLabel = uilabel(fig,'Position',[100 350 100 22],'Text','选择运算:');
operationDropdown = uidropdown(fig,'Items',{'矩阵加法','矩阵减法','矩阵乘法'},'Position',[200 350 200 22]);

% 创建计算按钮
calculateButton = uibutton(fig,'push','Position',[200 300 100 22],'Text','计算','ButtonPushedFcn',@(calculateButton,event) calculateCallback(matrixInput.Value, operationDropdown.Value));

% 创建函数绘制选择框
functionLabel = uilabel(fig,'Position',[100 250 100 22],'Text','选择函数:');
functionDropdown = uidropdown(fig,'Items',{'sin(x)','cos(x)'},'Position',[200 250 200 22]);

% 创建绘制按钮
plotButton = uibutton(fig,'push','Position',[200 200 100 22],'Text','绘制','ButtonPushedFcn',@(plotButton,event) plotCallback(functionDropdown.Value));

% 创建输出选择框
outputLabel = uilabel(fig,'Position',[100 150 100 22],'Text','选择输出:');
outputDropdown = uidropdown(fig,'Items',{'Excel文件','文本文件'},'Position',[200 150 200 22]);

% 创建输出按钮
outputButton = uibutton(fig,'push','Position',[200 100 100 22],'Text','输出','ButtonPushedFcn',@(outputButton,event) outputCallback(outputDropdown.Value));

% 定义矩阵运算函数
function calculateCallback(matrix, operation)
    switch operation
        case '矩阵加法'
            result = matrix + matrix;
        case '矩阵减法'
            result = matrix - matrix;
        case '矩阵乘法'
            result = matrix * matrix;
    end
    disp(result);
end

% 定义函数绘制函数
function plotCallback(function)
    x = linspace(-pi,pi,100);
    switch function
        case 'sin(x)'
            y = sin(x);
            plot(x,y);
        case 'cos(x)'
            y = cos(x);
            plot(x,y);
    end
end

% 定义输出函数
function outputCallback(output)
    switch output
        case 'Excel文件'
            matrix = magic(3);
            writematrix(matrix,'matrix.xlsx');
        case '文本文件'
            matrix = magic(3);
            writematrix(matrix,'matrix.txt','Delimiter','tab');
    end
end

好的,下面是MATLAB代码实现:

% 创建GUI界面
fig = uifigure('Name','数值计算GUI界面');

% 创建矩阵输入框
matrixLabel = uilabel(fig,'Position',[100 400 100 22],'Text','输入矩阵:');
matrixInput = uieditfield(fig,'numeric','Position',[200 400 200 22]);

% 创建矩阵运算选择框
operationLabel = uilabel(fig,'Position',[100 350 100 22],'Text','选择运算:');
operationDropdown = uidropdown(fig,'Items',{'矩阵加法','矩阵减法','矩阵乘法'},'Position',[200 350 200 22]);

% 创建计算按钮
calculateButton = uibutton(fig,'push','Position',[200 300 100 22],'Text','计算','ButtonPushedFcn',@(calculateButton,event) calculateCallback(matrixInput.Value, operationDropdown.Value));

% 创建函数绘制选择框
functionLabel = uilabel(fig,'Position',[100 250 100 22],'Text','选择函数:');
functionDropdown = uidropdown(fig,'Items',{'sin(x)','cos(x)'},'Position',[200 250 200 22]);

% 创建绘制按钮
plotButton = uibutton(fig,'push','Position',[200 200 100 22],'Text','绘制','ButtonPushedFcn',@(plotButton,event) plotCallback(functionDropdown.Value));

% 创建输出选择框
outputLabel = uilabel(fig,'Position',[100 150 100 22],'Text','选择输出:');
outputDropdown = uidropdown(fig,'Items',{'Excel文件','文本文件'},'Position',[200 150 200 22]);

% 创建输出按钮
outputButton = uibutton(fig,'push','Position',[200 100 100 22],'Text','输出','ButtonPushedFcn',@(outputButton,event) outputCallback(outputDropdown.Value));

% 定义矩阵运算函数
function calculateCallback(matrix, operation)
    switch operation
        case '矩阵加法'
            result = matrix + matrix;
        case '矩阵减法'
            result = matrix - matrix;
        case '矩阵乘法'
            result = matrix * matrix;
    end
    disp(result);
end

% 定义函数绘制函数
function plotCallback(function)
    x = linspace(-pi,pi,100);
    switch function
        case 'sin(x)'
            y = sin(x);
            plot(x,y);
        case 'cos(x)'
            y = cos(x);
            plot(x,y);
    end
end

% 定义输出函数
function outputCallback(output)
    switch output
        case 'Excel文件'
            matrix = magic(3);
            writematrix(matrix,'matrix.xlsx');
        case '文本文件'
            matrix = magic(3);
            writematrix(matrix,'matrix.txt','Delimiter','tab');
    end
end

这段代码创建了一个GUI界面,包含矩阵输入框、矩阵运算选择框、计算按钮、函数绘制选择框、绘制按钮、输出选择框和输出按钮。其中,矩阵输入框和矩阵运算选择框用于进行矩阵运算,函数绘制选择框和绘制按钮用于绘制sin(x)或cos(x)函数图像,输出选择框和输出按钮用于将矩阵运算结果输出到Excel文件或文本文件中。

输入示例:将矩阵[1,2,3;4,5,6;7,8,9]输入矩阵输入框,选择矩阵乘法进行计算,选择绘制sin(x)函数图像,选择输出到Excel文件。

输出示例:在命令窗口中输出矩阵运算结果,绘制sin(x)函数图像,生成一个名为matrix.xlsx的Excel文件,其中包含矩阵运算结果。

总结

以上就是今天的内容~

最后欢迎大家点赞👍,收藏⭐,转发🚀,
如有问题、建议,请您在评论区留言💬哦。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

张小鱼༒

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

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

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

打赏作者

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

抵扣说明:

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

余额充值