zuohaoyi 发表于 2010-5-2 08:34

matlab能不能直接访问内存里的数据?

如何让matlab直接访问内存里面的数据啊?

ChaChing 发表于 2010-5-2 11:16

回复 楼主 zuohaoyi 的帖子

个人水平专业有限, 看不清LZ的问题, 可否说清楚些或举例!
或同待高人路过

zuohaoyi 发表于 2010-5-2 12:41

如何调用另一个函数里的大量数据?

function Q_read(w,r);
for r=1:50
    dcm='E:\散射0.2-6um\'; rds=num2str(r/10); opn_name=;
    fid(1)= fopen(opn_name,'rt');
    for w=1:5800, Q_scf(w,r)=fscanf(fid(1),'%e',1); end
    fclose(fid(1));
end

以上是从E盘读取数据的一个函数,想在另外一个执行程序中调用这个函数里面的数据(也就是Q_scf)里面的数据,应如何调用呢?请知道的务必指点哈,为了这个程序我弄了几天了都没有进展,今天好不容易想出这么个办法,又不知道如何调用函数。

[ 本帖最后由 ChaChing 于 2010-5-29 21:31 编辑 ]

ChaChing 发表于 2010-5-2 14:14

另一贴"如何让matlab直接访问内存里面的数据啊?", 问的就是这帖的意思吗? 若是请勿开新贴,一帖发完

将function Q_read(w,r);改为function Q_scf=Q_read(w,r);即可将此函数资料输出至base workspace!

还有看下这帖 "提问的智慧!!!!(发帖前请认真阅读)"
http://forum.vibunion.com/forum/viewthread.php?tid=21991
个人水平专业有限, 真的抓不住LZ问题!:loveliness:

还有LZ的程序真的需优化下, 那两个大loop好像一点也不需要!
而且不需要在loop里头的, 不要摆在loop里头, 浪费不少运行时间!

[ 本帖最后由 ChaChing 于 2010-5-2 20:52 编辑 ]

zuohaoyi 发表于 2010-5-2 18:36

原帖由 ChaChing 于 2010-5-2 15:03 发表 http://www.chinavib.com/forum/images/common/back.gif
还有LZ的程序真的需优化下, 那两个大loop好像一点也不需要!
而且不需要在loop里头的, 不要摆在loop里头, 浪费不少运行时间!

兄弟,我遇到要从硬盘上都数据的时候都是这么弄的,也没想过还有没有更好的方法,请问应该如何优化呢?

ChaChing 发表于 2010-5-2 21:21

首先LZ在3F的Q_read程序不会报错吗?
档案名称可以是'E:\散射0.2-6um\0.2um.txt'吗? fid不等于-1吗?

LZ是要将50个同数量的档案读入matlab吗? 若是外loop仍应存在, 粗看时没注意到!
个人认为有问题的(但不确定LZ真正要的), 稍为改动下

dcm='E:\散射0p2-6um\';
for r=1:50
    rds=num2str(r); opn_name=; fid= fopen(opn_name,'rt');
    Q_scf(:,r)=fscanf(fid(1),'%e'); fclose(fid);
end



[ 本帖最后由 ChaChing 于 2010-5-2 23:37 编辑 ]
页: [1]
查看完整版本: matlab能不能直接访问内存里的数据?