MATLAB 对于一个已完成的M文件(有输入和输出),如何创建一个GUI界面,给M文件赋值,并在界面上输出结果

大家好,我编好了一个MABLAB的M文件,能计算电机参数,只涉及纯数值计算。该程序在commandwindow里运行时,会要求用户手动输入2个自变量,然后自动计算出相关的... 大家好,我编好了一个MABLAB的M文件,能计算电机参数,只涉及纯数值计算。该程序在command window里运行时,会要求用户手动输入2个自变量,然后自动计算出相关的24个因变量。但是导师现在要求做一个GUI图形界面,要求能在界面上输入自变量,并在该界面(或另一个GUI界面)上输出计算后的因变量。
我的问题是,如何将界面上用户输入的量赋值给负责计算的M文件(不是GUI的回调M文件,是我之前编好的原文件),由它算出因变量以后再重新返回给该界面(或另一个GUI界面)呢。这段能让参数转移的代码应该怎么写才好?
小弟弄了很久不得其解,本身MATLAB功底也欠佳,所以请各位GGJJ给答案的时候尽量写详细易懂些,最好有详细的先后步骤,好的答案一定追加给分!!先谢谢啦!
PS:GUI界面的样式我已经设计好了,就是不知道怎么实现编程,见图:
展开
 我来答
dukinkin
2014-06-21 · TA获得超过1.3万个赞
知道大有可为答主
回答量:2444
采纳率:90%
帮助的人:896万
展开全部
你之前编写好的负责计算m文件是脚本文件还是函数文件

如果是脚本文件的话,要想办法改成函数文件
并使其能够接受两个输入参数
根据两个输入参数计算出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的相关知识
ysdccs
2014-06-21 · 超过30用户采纳过TA的回答
知道答主
回答量:55
采纳率:0%
帮助的人:45.4万
展开全部
我没法太具体的说。。。
你以前的手动输入是怎么实现的?m文件里调?还是command window里输入?
总之就是把你的程序做成一个function函数的形势,输入就是这两个变量
Calculate按钮的回调函数指向这个function函数,
然后读取两个文本框里的数据(文本框的string属性),作为函数的输入
具体怎么读,然后怎么把字符串转化成变量,可以学习下GUI的基础资料,网上也有很多
然后把输出变成字符串,显示在界面上
很基础的东西,还是自己找资料学一下吧,主要是get语句,很简单的
追问
以前手动输入是在command window里面输入两个自变量的值,然后按回车就算出所有因变量来了。
像你说的这种多个输入,多个输出的函数,在编写的时候是大概怎样的思路?因为函数不是一般都只有一个自变量么。另外鉴于输出很多,那怎么才能让每个输出都在相应的位置上呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式