matlab程序运行占用内存较高,造成机子死机如何简化程序?

syms b_s d_hh c1 d_vv k l
THETA=geotiffread('theta1111.tif');
HH=geotiffread('hh1111.tif');
VV=geotiffread('vv1111.tif');
p=nan(size(THETA));
i1=inversion1();
i2=d_hh-i1;
i3=[c1,d_hh,d_vv];
for n=1:size(THETA,1)
for o=1:size(THETA,2)
theta=THETA(n,o);
hh=HH(n,o);
vv=VV(n,o);
i4=[theta,hh,vv];
i=subs(i2,i3,i4);
j1=solve(i(1,1),b_s);
j2=solve(i(2,1),b_s);
j=[real(j1);real(j2)];

if ~isnan(theta) && ~isnan(vv) && ~isnan(hh)
if ~isempty(j1) && ~isempty(j2)
l1=solve(j(1,1)==1+1.5995*k+1.861*k^3,k);
l2=solve(j(2,1)==1+1.5995*k+1.861*k^3,k);
l=[l1;l2];
elseif ~isempty(j1) && isempty(j2)
l=solve(j==1+1.5995*k+1.861*k^3,k);
elseif isempty(j1) && ~isempty(j2)
l=solve(j==1+1.5995*k+1.861*k^3,k);
end
for m=1:numel(l)
if isreal(l(m,1)) && l(m,1)>=0.1 && l(m,1)<0.45
p(n,o)=l(m,1);
disp(num2str([n,o]));
end
end
end
end
end
HH和VV必须都算出来,才能进行下一步。

第1个回答  推荐于2016-03-16
% 分多次解决,例如:
clear
syms b_s d_hh c1 d_vv k l
THETA=geotiffread('theta1111.tif');
THETA=THETA(:,1:floor(end/2));
HH=geotiffread('hh1111.tif');
HH=HH(:,1:floor(end/2));
VV=geotiffread('vv1111.tif');
VV=VV(:,1:floor(end/2));
% VV=VV(:,(1+floor(end/2)):end);追问

大侠,能否帮忙把程序都修改一下呢?你说的我不是很明白。

追答

clear
syms b_s d_hh c1 d_vv k l
THETA=geotiffread('theta1111.tif');
THETA=THETA(:,1:floor(end/2));
HH=geotiffread('hh1111.tif');
HH=HH(:,1:floor(end/2));
VV=geotiffread('vv1111.tif');
VV=VV(:,1:floor(end/2));
p=nan(size(THETA));
i1=inversion1();
i2=d_hh-i1;
i3=[c1,d_hh,d_vv];
for n=1:size(THETA,1)
for o=1:size(THETA,2)
theta=THETA(n,o);
hh=HH(n,o);
vv=VV(n,o);
i4=[theta,hh,vv];
i=subs(i2,i3,i4);
j1=solve(i(1,1),b_s);
j2=solve(i(2,1),b_s);
j=[real(j1);real(j2)];
....字数超出
for m=1:numel(l)
if isreal(l(m,1)) && l(m,1)>=0.1 && l(m,1)<0.45
p(n,o)=l(m,1);
disp(num2str([n,o]));
end
end
end
end
end

clear

syms b_s d_hh c1 d_vv k l
THETA=geotiffread('theta1111.tif');
THETA=THETA(:,(1+floor(end/2)):end);
HH=geotiffread('hh1111.tif');
HH=HH(:,(1+floor(end/2)):end);
VV=geotiffread('vv1111.tif');
VV=VV(:,(1+floor(end/2)):end);
p=nan(size(THETA));
...字数超出

本回答被提问者和网友采纳
相似回答