我正在尝试编写在计算中使用向量中的一组变量的MATLAB代码。我试图对向量中的每个值运行相同的公式,然后将每个结果存储在新向量中。
目标是根据各种半径大小来计算和绘制建造水箱的成本。在计算中,我有一个圆柱罐和一个半球形顶部。储罐容积的准确值为500m ^ 3。对于半球形顶部,罐的成本为$ 400 / m ^ 2表面积,对于圆柱体,罐的成本为$ 300 / m ^ 2表面积。我知道我需要使用元素明智的运算符,但是我得到的是奇怪的,不切实际的结果,这使我相信我使用的是错误的。
this.editExpenseSubject.pipe(
switchMap(editExpense =>
forkJoin(
this.expenseDetails$.pipe(first()),
this.expenseReceipts$.pipe(first()),
).pipe(
map(values => ([editExpense, ...values]))
)
)
)
我期望半径在2m到10m之间的所有正值都有一条曲线,而成本正值是。由于某种原因,我获得的结果为负值,并且根据得出的图,半径为8m时水箱的成本是免费的,这是没有道理的。
答案 0 :(得分:0)
滤除h <0
rTank = 2:0.5:10;
h = 250./(pi*rTank)-1/3*rTank.^2;
good_h=h(h>0);
good_rTank=rTank(h>0);
cost = 2*pi*400*good_rTank.^2 + 2*pi*good_h*300.*good_rTank;
plot(good_rTank, cost)