Я пытаюсь написать код MATLAB, который использует набор переменных в векторе в расчете.Я пытаюсь запустить одну и ту же формулу для каждого значения в векторе, а затем сохранить каждый результат в новом векторе.
Цель состоит в том, чтобы рассчитать и построить график строительства резервуара для воды на основе различных размеров радиуса.В расчетах у меня цилиндрический резервуар и полусферический верх.Точное значение объема резервуара составляет 500 м ^ 3.Стоимость резервуара составляет 400 долларов США / м2 поверхности для полусферического верха и 300 долларов / м2 поверхности цилиндра.Я знаю, что мне нужно использовать поэлементные операторы, однако я получаю странные, нереалистичные результаты, которые заставляют меня думать, что я использую их неправильно.
rTank = 2:0.5:10;
h = ((250./(pi.*rTank(:)))-((rTank(:).^2)./3));
cost = ((2*pi*400.*(rTank(:).^2))+(2*pi*h(:).*300.*rTank(:)));
plot(rTank,cost)
Я ожидаю кривую всех положительных значений между радиусами 2 ми 10 м, с положительными значениями стоимости.По какой-то причине я получаю отрицательные значения для результатов, и согласно полученному графику стоимость резервуара для воды является бесплатной, когда радиус равен 8 м, что не имеет смысла.