matlab中可以无需定义而直接使用 当遇到需要不断扩展的向量时,有三种方法来扩展
1.a=[a,new] 2.a(end+1)=new 3.预先定义a=zeros(length) 然后a(i)=new 比较一下三种方法的运算速度,在win7 matlab2012a 环境下:
a=1;
tic
for i=2:100000
a=[a,1];
end
toc
a=1;
tic
for i=2:100000
a(i)=1;
end
toc
tic
a=zeros(1,100000);
for i=2:100000
a(i)=1;
end
toc
结果:
Elapsed time is 13.368765 seconds.
Elapsed time is 0.029842 seconds.
Elapsed time is 0.004913 seconds.
结论: 1.先定义好数组维度肯定是运算最快的方法 2.当实际情况中不能先定义维度时,使用新元素复制方法 即a(end)=new 注:a(end)会自动找到a的最后一个元素 3.尽量不要使用分块数组重构方式 即不要使用a=[a,new]这种方式,其耗时远高于另两种方式
经典的达西定律:Q=K*A*dh/dl
从而得到比流量:q=Q/A=K*dh/dl
值得注意的是,此处A=岩石颗粒面积+孔隙面积。上式中的比流量q在不同参考书中有不同的叫法,如渗流速度、单位面积上的水流速度或过水断面的平均流速,参考《多孔介质渗流与污染物运移数学模型》,q严格地说是渗流速度。所谓渗流(seepage
flow)是假想的水流,是不考虑实际水流途径和岩土颗粒骨架,只考虑地下水流总的流动方向,但具有实际水流的运动特征(压力、流量、渗透阻力)。
因此,q不能代表真实的水流速度,可以看作等效流速,仅仅是当整个过水断面都被水充满时,地下水才以流速q流动。
另外一个与q容易混淆的是渗透速度(average pore velocity),渗透(permeation,
percolation)是地下水通过岩土介质孔隙的运动。实际的水流只是地下水在孔隙中流动,实际水流速度即渗透速度为渗流量除以孔隙面积,渗透速度u与渗流速度之间的关系为:
q=u*n
其中,n为有效孔隙度,即相互连通的孔隙占整个典型单元体
困扰了我近一个星期的ArcGIS
Server故障今天终于解决了,为了以后再出现类似错误,将对这几天收索到的网络上的解决方法及最后的解决方案记录下来作为备忘。
十一节前更新了网站版本,加上了一个网络分析中的路径计算,在现场安装后发现无法进行路径分析,每次运行到naServer.Solve(Props)均会出现错误:
“用户代码未处理 System.Exception Message='Error processing server
request”
不能返回结果,而在实验室电脑则一切运行正常。于是想到了看ArcGIS Server的Log
Files,发现里面有多次错误,具体如下:
Level
Message
Time
Configuration&nb