luckyrhkr 发表于 2015-5-7 16:01:24

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

假设一个函数如下
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=的矩阵形式?

luckyrhkr 发表于 2015-5-7 18:35:37

本帖最后由 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

nwcwww 发表于 2015-5-8 01:34:11

本帖最后由 nwcwww 于 2015-5-8 04:10 编辑

functionCallA(x)
assignin('base', 'dummyvar', x);
try
    evalin('base', 'A(end+1) = dummyvar+1');
catch
    assignin('base', 'A', x+1);
end
end


之前忘记+1了

w7945121 发表于 2018-6-21 18:34:23

:victory::victory::victory::victory::victory::victory::victory:
页: [1]
查看完整版本: matlab 每次调用function时,数据连续保存的问题