我有一个(x,y)数据集,x域为(0,10)。该数据集表示我要查找其体积的对象的横截面。我的想法是:
- 线性内插数据集并获得内插函数f(x)。
- 求f(x)的逆-> g(y)
- 使用方程$\pi\int_a^b g(y)^2dy $对函数g(y)绕y轴进行旋转积分
以下是我迄今为止的一个片段:
import numpy as np
from scipy import interpolate
from scipy.integrate import quad
#assume (x,y) dataset has been imported as xvals, yvals
f = interpolate.interp1d(xvals,yvals)
area=quad(f,0,xvals[-1],limit=200) #this finds the cross sectional area, I need a 3D volume
字符串
如何求g(y)的倒数或者更一般地说,找到围绕y轴旋转的形状所包围的体积的最佳过程是什么?
1条答案
按热度按时间nhjlsmyf1#
看起来你的尝试很接近。
诀窍是使用
f(x)
作为半径创建磁盘。所以每个磁盘的面积是pi * f(x)**2
...我相信这就足够了。
字符串
在该(示例)情况下的结果是
152.68
…注意,要围绕
y-axis
旋转,您需要切换x和y。