У меня возникла проблема, и вы, ребята, могли мне помочь.Решение неявной функции в MATLAB без цикла
В Matlab, я пытаюсь решить неявную функцию, видит следующее:
Cp = Cpi/( sqrt(1 - M^2) + (M^2/(sqrt(1-M^2))) * Cpi/2)
Здесь, я знаю, что значения как М и Cp и хочу знать значение Cpi. Кроме того, из-за соображений вычислительного времени я хотел бы избежать использования циклов в подходе.
Наконец-то я знаю, что это не сложно решить, например, можно использовать метод «золотой би-сечение», чтобы найти ответ, однако я не знаю, как закодировать его в MATLAB. Кто-нибудь знает или имеет код, который может решить для Cpi?
Спасибо, ребята! высоко ценится за вашу помощь
Почему бы вам просто не переписать функцию в форму Cpi = ... Я только что сделал это на листе бумаги за 5 секунд, просто напишите этот код в Matlab. – Adriaan
Его неявное, поэтому вы не можете это сделать –
Это только подразумевается при определенных условиях. Попробуйте 'syms Cp Cpi M;' 'solve (Cp == Cpi/(sqrt (1-M^2) + M^2/sqrt (1-M^2) * Cpi/2), Cpi)', чтобы получить аналитическое решение, которое согласуется с примером в ответе @ StewieGriffin. – horchler