我在水柱的每个深度处都有一些深度测量值和相应的面积:

depth = [0,2,4,6,7,9,10];
Area = [2000,1890,1873,1654,1523,1433,1200];

figure(1);
plot(Area,depth);set(gca,'ydir','reverse');

我想计算所指示的每个深度之间的水量,然后据此计算整个水量。 首先,我对深度和面积值进行插值以提高计算的准确性:

dz = 0.1;
newD = min(depth):dz:max(depth);
newA = interp1(depth,Area,newD);

figure(2);
plot(newA,newD);set(gca,'ydir','reverse');

从这里到哪里去计算每个深度之间的水量?

#1楼 票数:1 已采纳

要获得体积,请将面积乘以高度。 因此,由于您的dz是恒定的,因此要在选定深度获得水量,您需要乘以

newA*dz

要获得总体积,您需要对其进行汇总

sum(newA*dz)

您的计算是在假设水域面积随深度线性变化的情况下完成的(这就是使用interp1实现的结果)。 我敢肯定,您可以分析集成线性函数,而不必使用当前方法。 您可以轻松获得确切的号码。

#2楼 票数:0

您实际上想将面积乘以总深度,而不是深度步长:

volume = newA.*newD;
totalVolume = sum(volume);

  ask by KatyB translate from so

未解决问题?本站智能推荐:

1回复

Matlab插值法切换因变量

我有一个Nx2矩阵,列为“时间”和“进度”。 进度是不可或缺的,而时间是对应于每个进度单位的实际值。 我想反转依赖性,并使“时间”成为整数,并在每个单位时间步长输出分数“进度”。 如何才能做到这一点?
1回复

使用插值法在Matlab中扩展2D矩阵

假设我有一个4像素乘4像素的图像,其值介于0到255之间,我想将其扩展为8×8图像,并在必要时进行插值。 我知道如何用interp1这样插入向量 : interp1(linspace(0,1,numel(vector)), vector, linspace(0,1,newSize))
2回复

拉格朗日插值法

我使用卷积和for循环(for循环太多)来使用Lagrange's method计算插值,这是主要代码: 对于用于计算l_i(x)循环而言,这些太多了(这是在最后一次计算P_n(x) = Sigma of y_i * l_i(x)之前完成的)。 有什么建议可以使其更加正式吗? 谢谢
2回复

为什么MATLAB分段三次插值法在二维曲面图拟合中给出对角线图数据?

有谁知道为什么MATLAB的“分段三次插值法”以二维曲面图拟合的形式提供对角线化的图数据? 附带的是使用此三次拟合的二维平面图(在代码和数据下方)。 可以看出,图像/图中的峰在五个孤立的数据点处对角线化(指向左上至右下)。 而不是期望的对称高斯分布。 为什么三次插值会这样做? 三次拟
1回复

在Matlab中给定区域内的矩阵的每个元素分配一个值

我在Matlab中有一个y * x矩阵,我想为4个点之间的矩阵区域的任何点分配一个值,例如A,B,C,D,其图像我知道坐标,如果该点对齐,这不是问题,但不是。 有功能吗? 编辑 我有一个介于0和1之间的数字输入矩阵。该矩阵的大小为720 * 1280。 x = [3 10 27
1回复

圆形区域内函数的渐变填充Matlab

我正在尝试根据给定的函数在圆形区域内创建渐变填充。 我希望下面的情节最多能解释它 我不知道如何解决这个问题,因为在模拟中我正在研究梯度变化的方向(并不总是在 x 方向,如下所示,但可以自由地沿着所有定义的角度),所以我寻找一种同样灵活的解决方案。 我的代码在下面
1回复

为什么双线性插值法以相同的倍数在扩展和收缩时生成精确的原始图像[重复]

这个问题已经在这里有了答案: 使用双线性插值调整图像大小而无需调整大小 1个答案 因此,我已经在Wiki和其他来源中实现了双线性插值,在这些来源中,他们使用与相邻像素的距离的分数来计算其贡献。 我的两个问题是: 我的结果与使用双线性插值的resize的matlab实现不
1回复

在MATLAB中给定数据的分段三次Hermite插值多项式(PCHIP),然后查找区域

你好朋友 我试图对下面在MATLAB中给出的数据进行分段三次Hermite插值,然后我想获得x轴多项式所覆盖的区域。 我认为,我误解了pchip命令返回的系数的含义,但不确定。 任何人都知道可能是什么问题吗? 如果我看到pp,它给出pp为 和pp.coefs是 我认为这些是代