程序不算长,但问题可不少: 1、solve函数的这种调用方式: solve('lambda-(-2log10(251/Re/sqrt(lambda)+027/l(i)))^(-2) = 0','lambda')是把整个字符串作为参数传递给符号计算内核的,给参数l和Re赋值不起作用,所以在符号计算内核求解时会
[dx dy] = meshgrid(-r:r); %生成网格点的dx,dy的坐标-r<=dx,dy<=r
h = exp(- (dx^2 + dy^2) / (2 sigma_s^2)); %计算出对应于每对dx,dy的h的值
h=e^[- (dx^2+dy^2)/(2σ^2)
xp = padarray(x, [r r], ’symmetric’); % 生成x数组
yp = padarray(y, [r r], ’symmetric’); % 生成x数组
xt = zeros(size(x)); % 生成全零数组,维数与数组x相同
parfor p = 1:numel(x), [i j] = ind2sub(size(x), p); % 该句搞不明白
第一步:首先打开MATLAB命令窗口,输入matlabpool open ,或者把这句加入程序开头。
第二步:主要是两种:parfor模式和spmd模式。两种模式的应用都很简单。
parfor其实就是parallel+for简化而来,就是把原来程序中的for循环中的关键字for改为parfor就行。
spmd 自己help就会了。
附上附件,附件运行图如下:
以上就是关于请教parfor中调用函数出错的问题全部的内容,包括:请教parfor中调用函数出错的问题、MATLAB程序看不懂、如何利用MATLAB并行计算缩短程序运行时间等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)