24小时热门版块排行榜    

查看: 1408  |  回复: 3

shan_yin

木虫 (正式写手)

[求助] 请教各位大侠,matlab GPU编程时,如何在arrayfun函数中进行数据存储? 已有1人参与

示例如下。我需要把arrayfun函数中每次计算的z的值保存到Pos矩阵中,并在循环结束后对矩阵进行操作。请各位大侠赐教!

function test_GPU_computing

maxIterations=500;
gridSize=1500;
xlim=[-0.75, -0.73];
ylim=[ 0.12,  0.14];

t=tic();
x=gpuArray.linspace( xlim(1), xlim(2), gridSize );
y = gpuArray.linspace( ylim(1), ylim(2), gridSize );
[xGrid,yGrid] = meshgrid( x, y );

count=arrayfun( @tar_fun,xGrid, yGrid, maxIterations );
count=gather(count); % Fetch the data back from the GPU
gpuArrayfunTime=toc(t)
figure(1)
imagesc(x,y,count)
reset(gpuDevice(1))

function count=tar_fun(x0,y0,maxIterations)
z0=complex(x0,y0);
z=z0;
count=1;
%Pos=[];
while (count <= maxIterations) && (abs(z) <= 2)
    count=count+1;
    z=z*z+z0;
    %Pos(count,1)=z;
end
count=log(count);
回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shan_yin

木虫 (正式写手)

敬请赐教!
2楼2018-12-15 16:02:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chendequan

铁虫 (小有名气)

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ...
感谢参与,应助指数 +1
shan_yin: 金币+200 2018-12-15 20:58:52
emuch: 屏蔽内容, 违规存档, 违规发布联系方式 2018-12-17 10:30:19
本帖内容被屏蔽

3楼2018-12-15 20:41:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shan_yin

木虫 (正式写手)

内容已删除
4楼2018-12-15 21:03:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 shan_yin 的主题更新
信息提示
请填处理意见