jocamc Posted March 11, 2014 at 01:47 PM Report #548214 Posted March 11, 2014 at 01:47 PM Boas, Quero colocar esta função num m file em matlab mas não sei mto bem como colocar a série na linguagem de matlab. Mais tarde vou necessitar de fazer algumas operações com esta função, entre elas aplicar a transformada de laplace ptt não sei se fazer um ciclo for é a melhor opção. Alguém me pode ajudar pf? O passo da série seria 0.01
Rui Carlos Posted March 11, 2014 at 07:28 PM Report #548269 Posted March 11, 2014 at 07:28 PM O que é que tens feito? Ou que é que não funciona? O S está definido onde? Rui Carlos Gonçalves
jocamc Posted March 11, 2014 at 07:52 PM Author Report #548273 Posted March 11, 2014 at 07:52 PM Fiz isto mas n me dá o resultado esperado. A imagem que pus da função tem uma gralha, onde tá 225, é 2.25 e com o step de 0.01 dá então 201 iterações. w=0.25: 0.01: 2.25; for i=1: 1: 201 S(i)=sqrt(4*w(i)*cte); end i=1; for tempo=1: 1: 1200 for i=1: 1: 201 aux(i)=S(i)*cos(w(i)*tempo); end n(tempo)=sum(aux); end
Rui Carlos Posted March 11, 2014 at 08:22 PM Report #548275 Posted March 11, 2014 at 08:22 PM Estás a complicar, e não é pouco, algo simples. A função que apresentaste traduz-se quase directamente para Matlab: t = ...; % definir valor de t result = 0; for w = 0.25 : 0.01 : 2.25 % iteração pelos valores de w result += S(w) * cos(w * t); % expressão do somatório end No final, a variável result vai ter o valor de n(t). Para isto funcionar, vai ter que definir a função S, onde pode usar, por exemplo, funções anónimas. Rui Carlos Gonçalves
jocamc Posted March 11, 2014 at 11:39 PM Author Report #548306 Posted March 11, 2014 at 11:39 PM Hmm vou testar e dps digo! Tkz!
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now