• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

castas

Dúvida-Matlab- function

4 mensagens neste tópico

Boas. Tenho uma duvida a cerca do comando “Function” do matlab.

function [out1, out2, ...] = funname(in1, in2, ...)  no matlab podemos criar as nossas funções, em que podemos inserir valores para a entrada e são dados valores de saída.

--------------------------------------------------------------

function r= cobaia(x,y)

r=sin(3*x)+sin(3.1*y);

esta função funciona perfeitamente bem e eu entendo todo o mecanismo, valores de entrada e um de saída.

MAS quando :

function [x,y,z]=Spherical_to_Cartesian(r,theta,phi)

z=r*cos(theta);

x=r*sin(theta)*cos(phi);

y=r*sin(theta)*sin(phi);

end

Nesta situação não consigo fazer com que o valor de Y e Z saiam. Da sempre  o valor de X.

É capaz de ser obvio a solução, mas Alguém me sabe dar uma breve explicação?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Aqui no meu octave isso funciona sem problemasde maior. Está com alguns problemas de resolução mas funciona:

octave:1> function [x,y,z]=Spherical_to_Cartesian(r,theta,phi)
> z=r*cos(theta)
> x=r*sin(theta)*cos(phi)
> y=r*sin(theta)*sin(phi)
> end
octave:8> Spherical_to_Cartesian (3,pi,0)
z = -3
x =  3.6738e-16
y = 0
ans =  3.6738e-16
octave:9> Spherical_to_Cartesian (3,pi*0.5,0)
z =  1.8369e-16
x =  3
y = 0
ans =  3

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Pois, a mim so me dá a "ans". tou a usar o Matlab R2008a.

estranho né?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ja precebi!  ;)

>> [x,y,z]=Spherical_to_Cartesian(2,1,2)

x =

  -0.7004

y =

    1.5303

z =

    1.0806

>> [x,y]=Spherical_to_Cartesian(2,1,2)

x =

  -0.7004

y =

    1.5303

>> [x]=Spherical_to_Cartesian(2,1,2)

x =

  -0.7004

obrigado :)

0

Partilhar esta mensagem


Link 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