在matlab中怎么将程序执行中的变量输出到workspace

比如程序如下:

function y=myfun(a)
y=a^2;

myfun是一个子程序,我想将a的值在计算函数输出值之前输出到workspace中,请问如何实现??
谢谢帮助
谢谢做出的回答,但是问题还没有解决.

我指的是由于引用函数的特殊性,计算必须使用workspace中的变量,所以在计算前就必须把参数输出到workspace中.
采用双返回值,我试过了,报错.

我在help中已经找到了解决方法,供大家参考.

function y=Ei(a)

assignin('base','s',a);
y=-double(vpa(subs(maple('evalf','(Ei(1,s))'))));

欢迎大家继续讨论,提其他方法

再次感谢回答问题的朋友

MATLAB在程序运行过程中,将为每个函数分配它自己的变量空间,在函数退出之后,该变量空间也就立即被注销。为将函数输出到workspace,采用 assignin(WS,'name',V)
其中,WS为工作空间名称,'name'为变量名,V是为该变量指派的值。
例如

assignin('base','a',5); % 为该变量指派新的值
则在workspace中输出了a这个变量,其值为5
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-12-01
双返回值即可
function [y,b]=myfun(a)
b=a;
y=a^2;
说话呢,要负责任,你确定你的尝试没有语法问题,以下是我的测试结果:
[a,b]=myfun(1)

a =

1

b =

1
关于另外那个问题,到另外一帖看。
相似回答