Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Mateus R.

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

Mensagens Recomendadas

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.

Editado por Rui Carlos

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros 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.

Editado por PsySc0rpi0n

Kurt Cobain - Grunge misses you

Nissan GT-R - beast killer

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.