主题:[讨论]誰能幫我看一下關於s-function的問題
leon1235
[专家分:0] 发布于 2007-12-23 18:41:00
想破頭,誰能幫我看一下為什麼不能先執行untitled2.m的檔案,而是要先執行ex6_12.m再執行untitled2.m才有畫面
,初學gui與sfunction,這兩個間的參數傳遞還不太會用,麻煩高手解答
已附上檔案,麻煩解壓縮,謝謝(matlab版本為R2007B)
最后更新于:2007-12-23 18:45:00
回复列表 (共1个回复)
沙发
blivfate [专家分:720] 发布于 2007-12-26 13:38:00
ex6_12.m中有这样两句:clear all;close all
是为了不让Matlab Workspace中已经有的变量和程序中的变量有重名,从而影响程序的运行。
我想你是直接把ex6_12.m中的程序中搬到GUI中来的,所以有的时候会出现问题的。你如果直接运行untitled2.fig,那么在点击按钮后出现的错误提示是holdp.mdl/from workspace模块的设置错误。
所以,我将你的mdl模块中的from workspace中的[t' data],改为了var,而在按钮的程序下加入下面的语句:
var=struct;
var.time=t;
var.signals.values=data;
var.signals.dimensions=1;
这样程序就能正常的运行了。你可以试试。
另外建议,你将其中计算t的程序改为:t=1:length(data);
这样的话,就不用for循环语句了。从而让程序运行的更快。如果你需要的话,我可以把运行结果的图片发给你。
还有其他问题,可以联系我:jonpong@yahoo.cn
我来回复