当我给出四个lambda值时,它会给我一个错误,即无法执行赋值,因为左侧的索引与右侧的大小不兼容。但对于像36、38、40或42这样的单个值来说,这是可以的
R = [0.5:0.1:2.25];
Vs1= [120];
Vs2 = R.*Vs1;
H1=[5:5:25];
rho = [2000 2000];
lambda = [36 38 40 42];
for j=1:length(Vs2),
Vs = [Vs1 Vs2(j)];
for i=1:length(H1)
H2=30-H1(i);
d=[H1(i),H2];
Vs30(j,i)=Vs30_fun(d,Vs);
end
end
for j=1:length(Vs2),
Vs = [Vs1 Vs2(j)];Vp=2.*Vs;
for i=1:length(H1)
d=[H1(i) Inf];
VR(j,i)=lv_fun(d,Vs,Vp,rho,lambda);
end
end
M=VR<Vs30;
[m,n]=size(M);
VR=zeros(length(Vs2),length(H1));
for i=1:m
for j=1:n
if M(i,j)==0
plot(H1(i),R(j), 'r*')
hold on
% drawnow();
end
end
end
VR(j,i)=lv_fun(d,Vs,Vp,rho,lambda);
你没有初始化VR。我建议您先初始化变量,然后再初始化插件值。循环之前试试这个。
VR=zeros(length(Vs2),length(H1));