现有电子表格模型的Matlab源代码

我正在做一个mat实验室的项目,我正在处理大量的数据。 我需要从电子表格中创build一个现有模型的源代码,其中计算已经在电子表格中逐行进行。我有问题写电子表格的最后5列的代码,其中第一列的第二行的结果使用第五列第一行的结果等等。 有关信息,

  1. dh / dx是第一列
  2. GWFLOW是第二列
  3. GWDROP是第三列
  4. NETGWCHANGE是第四列
  5. REVGW是第五列

清晰视图的Excel文件的屏幕截图 Excel文件

这是我做的代码:

%% dh/dx dh_dx=zeros(numel(rocky.RAIN),1); % for the first row dh_dx(1)=(ingwl-effecbase)/meandx; %for the remaining dh/dx for s=2:numel(HER); dh_dx(s)=(REVGW(s-1)-effecbase)/meandx; end %% GW flow for unit width GWFLOW=zeros(numel(rocky.RAIN),1); for t=1:numel(HER); GWFLOW(t)=K*dh_dx(t)*aqb; end %% Drop of GW due to GW flow GWDROP=zeros(numel(rocky.RAIN),1); for u=1:numel(HER); GWDROP(u)=(GWFLOW(u)/(aqb*por)); end %% Net Groundwater change NETGWCHANGE=zeros(numel(rocky.RAIN),1); for v=1:numel(HER); NETGWCHANGE(v)=INCGW(v)-GWDROP(v); end % Revised GW level Estimate REVGW=zeros(numel(rocky.RAIN),1); %for the first row REVGW(1)=ingwl+NETGWCHANGE(1); for w=2:numel(HER); REVGW(w)=REVGW(w-1)+NETGWCHANGE(w) end 

先谢谢你

问题是你在你的代码中分开计算所有的数据,而它们需要在同一个循环中全部计算在一起:

  % Allocate data dh_dx = zeros(numel(rocky.RAIN),1); GWFLOW = zeros(numel(rocky.RAIN),1); GWDROP = zeros(numel(rocky.RAIN),1); NETGWCHANGE = zeros(numel(rocky.RAIN),1); REVGW = zeros(numel(rocky.RAIN),1); % Seed the calculation on the first row dh_dx(1) = (ingwl-effecbase)/meandx; GWFLOW(1) = K*dh_dx(1)*aqb; GWDROP(1) = (GWFLOW(1)/(aqb*por)); NETGWCHANGE(1) = INCGW(1)-GWDROP(1); REVGW(1) = ingwl + NETGWCHANGE(1); % Loop trough the other rows and calculate fields for s = 2:numel(HER) dh_dx(s) = (REVGW(s-1)-effecbase)/meandx; GWFLOW(s) = K*dh_dx(s)*aqb; GWDROP(s) = GWFLOW(s)/(aqb*por); NETGWCHANGE(s) = INCGW(s) - GWDROP(s); REVGW(s) = REVGW(s-1) + NETGWCHANGE(s); end;