matlab 函数到空间,Matlab中保存函数内部中间变量到工作空间的两种方法

比如函数

function y=myfunt1(x)

a=5e-6;

d=20e-6;

boc=0.6328e-7;

f=linspace(10e-3,10e-3,100);

z=2;

y=exp(-x.^2).*cos(2*pi.*x.*f/boc/z);

希望保存里面的f变量的第一百个数到工作空间,那么有两种方法,第一个是增加函数的返回参数个数

function [y,r]=myfunt1(x)

a=5e-6;

d=20e-6;

boc=0.6328e-7;

f=linspace(10e-3,10e-3,100);

r=f(100);

z=2;

y=exp(-x.^2).*cos(2*pi.*x.*f/boc/z);

调用:

[a,b]=myfunt1(5)

b =

0.0100

这个就是中间变量f(100)的输出,而且在工作空间中可以看到该变量。

2b672fc9d4b3fdc3e0e43b0d8bbc42d6.png

1.JPG (3.62 KB, 下载次数: 38)

2009-10-21 16:46 上传

方法2是使用save ,load函数。

function y=myfunt1(x)

a=5e-6;

d=20e-6;

boc=0.6328e-7;

f=linspace(10e-3,10e-3,100);

r=f(100);

save dat r

z=2;

y=exp(-x.^2).*cos(2*pi.*x.*f/boc/z);

load dat r

将函数修改成上述代码,但是调用后发现:

myfunt1(5)

1629e092d70d221ce919bd40bcc8b1af.png

2.JPG (3.03 KB, 下载次数: 52)

2009-10-21 16:46 上传

工作空间中并没有载入这个r变量的内容。考虑函数调用结束时会销毁暂时空间,可能在load后的变量内存被销毁,所以调整为在函数外部load.

将load从函数中消去,调用时采用

myfunt1(5)

load dat r

工作空间中出现了r

ed500d2d630876057cb66e1a0b6b1bae.png

3.JPG (3.66 KB, 下载次数: 66)

2009-10-21 16:46 上传

一个小问题,略做总结。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值