C-MEX混合编程的实现问题

虚心请教各位大侠,C-MEX混合编程的实现问题:
本人论文数据处理Matlab程序中含有如下的循环语句

  
for i = 1:5
W(:,:,i) = diag(Dw(:,i)) * (1./Dt(:,:,i)); %% Fugacity Multiplier for water and pore water respiration
for j = 1:N
A(:,:,j,i) = - diag(Dt(:,j,i)) \ DaMat(:,:,i); %% The foodweb matrix----the same as: diag(1./Dt)*Da
end
end

其中为135的二维数组,Dt为135000005的三维数组,DaMat为1313*5的三维数组
结果单独运行这个语句整个上午(>4h)还是处于busy状态,不得已放弃.
(本人的本子配置为Genuine Intel(R)CPU T2080 @ 1.73GHz,1G 内存)。
我查阅了两本混合编程的书(杨高波等《精通Matlab7.0混合编程》和张威《Matlab外部接口编程》)试图将其改写为C-MEX,无奈看不太懂(本科时学过C语言,略懂)。

不知那位高手有空赐教,帮忙将这几条语句改写为C-MEX

刘锡涛
刘锡涛
281
编辑于2012-07-16
评论 (0)链接2012-07-15 
德问是一个专业的编程问答社区,请 登录注册 后再提交答案