找回密码
 注册
Simdroid-非首页
查看: 87|回复: 3

matlab 每次调用function时,数据连续保存的问题

[复制链接]
发表于 2015-5-7 16:01:24 | 显示全部楼层 |阅读模式 来自 韩国
假设一个函数如下
function callA(a)

A = a + 1;
assignin('base','A',A);
  
end
连续在命令窗口中输入一个命令
callA(3)
callA(5)
callA(7)
这时工作区的变量A的结果是 8
请就有没有办法修改下 callA()函数,使我连续输入,callA(3),callA(5),callA(7)这三个命令后
得到的结果是一个A=[4,6,8]的矩阵形式?

 楼主| 发表于 2015-5-7 18:35:37 | 显示全部楼层 来自 韩国
Simdroid开发平台
本帖最后由 luckyrhkr 于 2015-5-7 18:56 编辑

已经修改好了。如果还有其它办法的话请告诉我。。

function callD(a)
global B
BB=exist('B');
if BB>0
    BL=length(B);
    B{BL+1} =a + 1;
else
    BL=1;
    B{BL}=a+1;
end
B
assignin('base','B',B);
end

回复 不支持

使用道具 举报

发表于 2015-5-8 01:34:11 | 显示全部楼层 来自 英国
本帖最后由 nwcwww 于 2015-5-8 04:10 编辑
  1. function  CallA(x)
  2. assignin('base', 'dummyvar', x);
  3. try
  4.     evalin('base', 'A(end+1) = dummyvar+1');
  5. catch
  6.     assignin('base', 'A', x+1);
  7. end
  8. end
复制代码



之前忘记+1了

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2018-6-21 18:34:23 | 显示全部楼层 来自 湖北武汉
:victory::victory::victory::victory::victory::victory::victory:
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-19 16:53 , Processed in 0.037312 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表