计算时报错“由于使用变量'A'的方式,Parfor无法运行”,求各位朋友帮忙看看代码问题出在哪里,代码如下:
clear;clc;close all
format long;
gxy=g*10^(-5);
%% 计算公式
[N,M]=size(gxy);
N1=35;
M1=35;
a(N1+1,M1+1)=0;
b(N1+1,M1+1)=0;
c(N1+1,M1+1)=0;
d(N1+1,M1+1)=0;
w1=pi/((N-1)/2);
w2=pi/((M-1)/2);
deltx=1850;
delty=1750;
gzz=zeros(N,M);
f=ones(N,M);
p=parpool(4);
for i=1:N
for j=1:M
for m=0:N1
for n=0:M1
if(n==0);
k1=2;
else (n ~= 0);
k1=1;
end
end
if m==0;
k2=2;
else (m ~= 0);
k2=1;
end
end
a(n,m)=(1/(k1*k2*((N-1)/2)*((M-1)/2)))*sum(gxy(i,j)*cos(n*w1*deltx)*cos(n*w2*delty));
b(n,m)=(1/(k1*k2*((N-1)/2)*((M-1)/2)))*sum(gxy(i,j)*sin(m*w1*deltx)*cos(n*w2*delty));
c(n,m)=(1/(k1*k2*((N-1)/2)*((M-1)/2)))*sum(gxy(i,j)*cos(n*w1*deltx)*sin(m*w2*delty));
d(n,m)=(1/(k1*k2*((N-1)/2)*((M-1)/2)))*sum(gxy(i,j)*sin(m*w1*deltx)*sin(m*w2*delty));
gzz(i,j)=sqrt(n^2*(w1)^2+m^2*(w2)^2)*[cos(n*w1*f(i)) sin(m*w1*f(i))]...
*[a(n,m) b(n,m);c(n,m) d(n,m)]* [cos(n*w2*f(j));sin(m*w2*f(j))]
end
end
gzz1=gzz*10^9;
delete(p);