Matlab 版 (精华区)

发信人: zjliu (秋天的萝卜), 信区: Matlab
标  题: [合集]怎样在函数体内将变量存入工作空间?
发信站: 哈工大紫丁香 (2003年10月31日15:00:10 星期五), 站内信件


────────────────────────────────────────
 btt (BTT)                            于 Mon Oct 27 15:05:13 2003 说道:

有一函数形式如下
    function [A,B,...] = ex1(a,b,...)
    ts = a+b;
    vx = a/b;
    vy = ...
    ...

    open_system('dabanew');
    set_param('dabanew/tl','value','ts');
    set_param('dabanew/vx','InitialCondition','vx');
    set_param('dabanew/vy','InitialCondition','vy');
    set_param('dabanew/vz','InitialCondition','vz');
    sim('dabanew',[0,(ta-ts)*3600*24/TU],options);

即在函数前半部分计算得到了ts,vx,vy,vz等一些参数,在函数的后半部分
要调用Simulink并利用这些参数进行仿真。由于set_param命令加载的参数
(即此例中的ts,vx,vy,...)必须存在于工作空间之内,所以要在调用
Simulink之前将这些参数加入工作空间,请问应该怎么实现。

────────────────────────────────────────
 zjliu (秋天的萝卜)                   于 Mon Oct 27 16:17:18 2003 说道:

可用save函数保存成数据文件,或者把它们作为函数的输出变量

────────────────────────────────────────
 Mathsims (第二百三十七世剩闲)        于 Mon Oct 27 16:59:42 2003 说道:

global 


────────────────────────────────────────
 btt (BTT)                            于 Mon Oct 27 18:03:19 2003 说道:

save后也不能存入工作空间啊,不可以作为函数输出的,因为函数还没运行完就要求着几
个变量调入工作空间了。函数的下半部分就要用。

────────────────────────────────────────
 Mathsims (第二百三十七世剩闲)        于 Mon Oct 27 19:36:25 2003 说道:

把那几个变量设置为global变量,然后用一个script来实现整个工作。
doc global
也许对你有帮助。


────────────────────────────────────────
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:2.529毫秒