MATLAB 对于一个已完成的M文件(有输入和输出),如何创建一个GUI界面,给M文件赋值,并在界面上输出结果
大家好,我编好了一个MABLAB的M文件,能计算电机参数,只涉及纯数值计算。该程序在commandwindow里运行时,会要求用户手动输入2个自变量,然后自动计算出相关的...
大家好,我编好了一个MABLAB的M文件,能计算电机参数,只涉及纯数值计算。该程序在command window里运行时,会要求用户手动输入2个自变量,然后自动计算出相关的24个因变量。但是导师现在要求做一个GUI图形界面,要求能在界面上输入自变量,并在该界面(或另一个GUI界面)上输出计算后的因变量。
我的问题是,如何将界面上用户输入的量赋值给负责计算的M文件(不是GUI的回调M文件,是我之前编好的原文件),由它算出因变量以后再重新返回给该界面(或另一个GUI界面)呢。这段能让参数转移的代码应该怎么写才好?
小弟弄了很久不得其解,本身MATLAB功底也欠佳,所以请各位GGJJ给答案的时候尽量写详细易懂些,最好有详细的先后步骤,好的答案一定追加给分!!先谢谢啦!
PS:GUI界面的样式我已经设计好了,就是不知道怎么实现编程,见图: 展开
我的问题是,如何将界面上用户输入的量赋值给负责计算的M文件(不是GUI的回调M文件,是我之前编好的原文件),由它算出因变量以后再重新返回给该界面(或另一个GUI界面)呢。这段能让参数转移的代码应该怎么写才好?
小弟弄了很久不得其解,本身MATLAB功底也欠佳,所以请各位GGJJ给答案的时候尽量写详细易懂些,最好有详细的先后步骤,好的答案一定追加给分!!先谢谢啦!
PS:GUI界面的样式我已经设计好了,就是不知道怎么实现编程,见图: 展开
2个回答
展开全部
你之前编写好的负责计算m文件是脚本文件还是函数文件
如果是脚本文件的话,要想办法改成函数文件
并使其能够接受两个输入参数
根据两个输入参数计算出24个输出参数
而24个输出参数的形式是固定的8x3,所以完全可以输出一个矩阵
那么你用于计算的函数大概拥有下面的形式
输出矩阵= 函数名(输入参数1,输入参数2)
省下的你只需在gui的回调函数里,调用编写好的计算函数
将gui中根据editbox输入的连个参数传递给计算函数
得到的8x3矩阵,顺序显示到gui的输出就可以了
如果是脚本文件的话,要想办法改成函数文件
并使其能够接受两个输入参数
根据两个输入参数计算出24个输出参数
而24个输出参数的形式是固定的8x3,所以完全可以输出一个矩阵
那么你用于计算的函数大概拥有下面的形式
输出矩阵= 函数名(输入参数1,输入参数2)
省下的你只需在gui的回调函数里,调用编写好的计算函数
将gui中根据editbox输入的连个参数传递给计算函数
得到的8x3矩阵,顺序显示到gui的输出就可以了
更多追问追答
追问
谢谢,那我能否不采用把原文件编写成函数,而是从GUI中获取自变量,在独立的M脚本文件里完成计算,然后再把24个计算结果都返回到GUI输出呢?
说白了就是(输入输出)和(数值计算)独立进行
追答
理论上可以不写为函数,但是调用起来更为复杂,
想不到改为函数有什么不好的地方
首先,按你所说的原来你的m文件开始可能有input的操作
接受两个输入变量,但是改为gui之后,input的语句肯定不能再用了
第二虽然你的m文件最后输出24个因变量,
但是24个数完全可以用一个矩阵储存,返回一个矩阵就可以了
所以你只要写一个函数
第三写成一个函数,保存于m文件,调用的时候就好像调用
matlab系统自带的函数一样方便
如果你连函数文件的编写都不太熟悉的话,证明你对matlab也不是很熟悉
还要进行GUI的编写就更麻烦了
如果你还是不想写成函数,还有个办法就是
直接将原来m文件里的代码,直接写在回调函数里面
至于最后怎么利用gui得到输入的参数,怎么将参数输出在GUI中显示
那你自己还要学习gui的相关知识
展开全部
我没法太具体的说。。。
你以前的手动输入是怎么实现的?m文件里调?还是command window里输入?
总之就是把你的程序做成一个function函数的形势,输入就是这两个变量
Calculate按钮的回调函数指向这个function函数,
然后读取两个文本框里的数据(文本框的string属性),作为函数的输入
具体怎么读,然后怎么把字符串转化成变量,可以学习下GUI的基础资料,网上也有很多
然后把输出变成字符串,显示在界面上
很基础的东西,还是自己找资料学一下吧,主要是get语句,很简单的
你以前的手动输入是怎么实现的?m文件里调?还是command window里输入?
总之就是把你的程序做成一个function函数的形势,输入就是这两个变量
Calculate按钮的回调函数指向这个function函数,
然后读取两个文本框里的数据(文本框的string属性),作为函数的输入
具体怎么读,然后怎么把字符串转化成变量,可以学习下GUI的基础资料,网上也有很多
然后把输出变成字符串,显示在界面上
很基础的东西,还是自己找资料学一下吧,主要是get语句,很简单的
追问
以前手动输入是在command window里面输入两个自变量的值,然后按回车就算出所有因变量来了。
像你说的这种多个输入,多个输出的函数,在编写的时候是大概怎样的思路?因为函数不是一般都只有一个自变量么。另外鉴于输出很多,那怎么才能让每个输出都在相应的位置上呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |