Задача состоит в том, чтобы создать конусную шляпу в Matlab путем создания развертываемой поверхности численными методами. Я сделал 3 части. 2. Мой вопрос касается части 3, где мне нужно вычислить наименьшую прямоугольную поверхность бумаги, которая может содержать шляпу. И мне нужно посчитать материальные отходы бумаги.
ВЫ МОЖЕТЕ пропустить длинный фон и перейти к последнему абзацу
ФОН:
Шляпа с конусом может быть создана с помощью скошенного конуса с вершиной, расположенной в точке (a; 0; b), и с основанием в форме круга.
x = Rcos u,
y = Rsin u
z = 0
0<_ u >_2pi
с известными значениями для R, a и b
epsilon и eta ('n') - значения x и y кривых, когда параметр u изменяется от 0 до 2pi, а alpha - угол наклона кривой в точке (epsilon, eta). Начальные значения в A: u=0, alhpa=0, epsilon=0, eta=0
.
Кривая заканчивается в точке B, где параметр u достиг значения 2pi.
1. Я построил кривую с помощью Рунге-Кутта-4 и показал, что наконечник расположен в P = (0, sqrt(b^2 + (R-alpha)^2))
2. Я показал, что, используя меньшие интервалы в RK4, я все еще получаю довольно хорошую точность, но проблема в том, что кривая не гладкая. Поэтому я использовал Эрмит-интерполяцию эпсилон и эта как функции от u в каждом интервале, чтобы получить лучшую кривую.
3. Хорошо, теперь мне нужно рассчитать наименьшую прямоугольную поверхность бумаги, которая может содержать шляпу, и размер бумажных отходов. Если конечный угол альфа (2pi) в шаблоне равен пи или пи / 2, отходы материала будут меньше. Теперь я получаю значения для R & alpha (R = 7,8 и alpha = 5,5), и моя задача состоит в том, чтобы вычислить, какую высоту b коническая шляпа получит с критериями конструкции alpha (2pi) = pi (а затем для alpha (2pi) = pi / 2 для шляпы другого размера).
Итак, я взял первое уравнение выше (выражение, содержащее b) и переписал его как интеграл:
НА ВОПРОС
Я понимаю, что мне нужно решить этот интеграл в Matlab, а затем выбрать b, чтобы alpha (2pi) -pi = 0 (используя указанные выше критерии). Приведены значения R и альфа, а t определено как интервал ранее (в части 1, где я сделал RK4). Итак, когда интеграл решен, я получаю f (b) = 0, который я должен решить, например, с помощью метода секущей? Но я не могу решить интеграл с помощью функции matlab 'integ' .. потому что у меня, конечно, нет значения b, это то, что я ищу. Итак, как я собираюсь это сделать? Есть ли в Matlab функция, которую можно использовать?