Jump to content

Como solucionar uma equação com o solver dentro de um loop no Matlab?


Recommended Posts

Mateus R.

Bom dia pessoal,

Estou escrevendo um código e me deparei com o seguinte problema:

for i=1:10
Cx(i) = k * W(i) / sin(theta(i)) * (A * sin(theta(i))-B * cos(theta(i)))
%k,A,B são constantes, os outros elementos são vetores com valores obtidos em calculos passados
C(i) = x(i)*(1-x(i))
end

Dentro do loop eu gostaria de fazer com que as duas funções possuam valores iguais, variando o valor de x(i). Tentei usar solve(), fsolve(), porém sempre aparece algum tipo de erro.

Tentei criar uma terceira função: eqt = C(i) - Cx(i) == 0; e resolver para x(i), porém o software apresenta a mensagem de que não consegue resolver a função implícita.

Alguma sugestão?

Atenciosamente.

Mateus R.

Edited by Rui Carlos
Link to post
Share on other sites
PsySc0rpi0n

Não sei se percebi o que pretendes, mas as variáveis 'W' e 'theta' são vectores? É que se são vectores, o matlab está a interpretáveis como funções e se essas funções não estiverem definidas, deve dar o erro que descreves. Se as tais variáveis são vectores, estás a aceder a cada posição delas erradamente.

Edited by PsySc0rpi0n

Kurt Cobain - Grunge misses you

Nissan GT-R - beast killer

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.