1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

Desesperada com MATLAB

Discussão em 'Programação' iniciada por Marta Cordeiro, 3 de Novembro de 2005. (Respostas: 16; Visualizações: 1981)

  1. Estou mesmo desesperada com 2 problemas de MATLAB k preciso de resolver... será k alguem me pode dar uma ajudinha? É que n percebo grande coisa disto :(

    Aki vao os problemas

    Problema A:
    Desenvolva em MATLAB uma função f que receba como argumento um vector de números naturais, percorra elemento a elemento o vector dado recorrendo a um ciclo while e retorne o vector do mesmo comprimento em que cada elemento ímpar numa posição de índice ímpar no argumento é trocado com o seguinte. Nota: caso não exista elemento seguinte, mantém-se o valor original.

    Problema B:
    Desenvolva em MATLAB uma função f que receba como argumento um vector de números naturais, percorra elemento a elemento o vector dado recorrendo a um ciclo while e retorne o par contendo:
    • na primeira posição, o comprimento da maior sequência estritamente crescente no início do vector argumento;
    • na segunda posição, a maior soma de elementos consecutivos no mesmo vector.
    Desde ja um SUPER OBRIGADO!

    Marta
     
  2. DnlCY

    DnlCY Power Member

  3. Delta

    Delta Suspenso

    mas isso é feito em que linguagem ?
     
  4. DnlCY

    DnlCY Power Member

    Matlab tem a sua propria linguagem, por sinal bastante parecido com C
     
  5. timber

    timber Zwame Advisor

    É parecida com o C mas sem ter de definir variáveis e coisas desse estilo
    O problema que está aí é aplicável a qualquer linguagem
     
  6. edumad

    edumad I fold therefore I AM

    Ah... o MatLab essa maravilhosa ferramenta de engenharia.
    Eu até codava isso mas convem mm é aprender praticando.
    De qq maneira aki vai um pseudocodigo ao meu estilo :P pro prob 2

    PROB B

    para cada elemento i desde 1 até n-1 ! n = length de argumento
    contador(i)=1
    sums(i)=arg(i)+arg(i+1)
    para cada elemento k desde i até n-1
    se elemento k+1 > k
    contador(i)=contador(i)+1
    se não
    sai
    next
    next
    resultado(1)=max(contador)
    resultado(2)=max(sums) !estou a presumir que são somas de cada 2 elementos consecutivos


    Vai o pseudo pork presumo k estejas mm no inicio e até para ganhar pratica ajuda copiar codigo, agora nao te esqueças de criterios de paragem e do contador pros while's
    Se te interessas vagamente por programação/modelação/simulação investe forte no matlab k vale a pena.
     
    Última edição: 4 de Novembro de 2005
  7. Já consegui resolver os problemas! Obrigada a todos pela ajuda e em especial ao edumad... a tua ajuda foi preciosa!

    Fikem bem
     
  8. edumad

    edumad I fold therefore I AM

    Não tens de quê, mas não te habitues... A maior parte do pessoal não curte nada fazer os tpc's do ppl.
     
  9. TosteX

    TosteX Powre Membre

    Ajuda é ser do sexo feminino. ;)

    :D
     
  10. edumad

    edumad I fold therefore I AM

    eeeiii.... olha k nao. lol
    mas reconheço que encontrar gajas
    *nao se ofendam, ou chamo gajas e gajos a td a gente, é para facilitar*
    por estas bandas é raro e deixa um gajo desnorteado
    :P

    Duro, duro deve ser duma LEIC ou pior, LEEC, é um deserto, eu bem os vejo a sair das salas de aula... até parece k se ouve o vento e akelas palhas a rolar.
     
  11. Sim acredita k isso é mesmo verdade... até se sente o cheiro a desespero. Eu ando no Tecnico e topa-se logo à distancia quais sao as turmas de LEIC e LEEC. E quando por acaso aparece uma ou outra rapariga na turma... ui ui... é preciso ter cuidado... até lutam entre eles! hehe

    Em relação aos problemas... la consegui fazer akilo... agora so espero ter a cotação maxima! :) Programar da-me mesmo a volta a cabeça...ufa!

    P.S: Alguem da LEEC ou LEIC que n se ofenda com o k eu disse... nem todos sao assim (Acho eu o_0)

    Fikem Bem
     
  12. kanguru

    kanguru [email protected] Member

    Eu sou de LEEC no IST e não desespero :P Existe vida fora de lá :P

    Quanto aos problemas, so espero que tenhas aprendido com eles, pois se era tpc é pq deves precisar de saber como os fazer um dia mais tarde.

    Por outro lado não sei se ja ha um topico para matlab, mas parece-me que para C ja existe, em que o ppl coloca exemplos, para servirem de ajuda para pessoas que estejam enraskadas como tu . Se depois poderes disponiblizar as soluções era porreiro :)
     
  13. Desculpem so postar agora as soluções dos 2 problemas mas tive de esperar até acabar o prazo de entrega... nunca se sabe! hehe

    Problema A:
    function U=TrocaImpares(V)
    % TrocaImpares(V) Troca os números ímpares, que estão em posições de índice ímpar, pelo próximo número no vector
    % Caso o número esteja na última posição do vector fica igual
    I=1;
    U=V;
    while I<=length(V)
    if isodd(I)
    if isodd(V(I))
    if (I)<length(V)
    U(I)=V(I+1);
    U(I+1)=V(I);
    else
    U(I)=V(I);
    end
    else
    U(I)=V(I);
    end
    end
    I=I+1;
    end
    function
    x=isodd(n)
    % isodd(n) Devolve 1 se o número for ímpar e 0 se o número for par
    if rem(n,2)~=0
    x=1;
    else
    x=0;
    end


    Problema B:
    function U=ParCompSoma(V)
    % ParCompSoma(V) retorna o par com o maior comprimento e a maior soma de números consecutivos
    C=Comp(V);
    S=Soma(V);
    U=[(C),(S)];
    function
    C=Comp(V)
    I=1;
    C=1;
    while I<length(V)
    if V(I)>=V(I+1)
    break
    else
    C=C+1;
    end I=I+1;
    end
    function S=Soma(V)
    I=1;
    S=0;
    while I<length(V)
    if V(I)+V(I+1)>S
    S=V(I)+V(I+1);
    end
    I=I+1;
    end

    Fikem bem :)


     
  14. Faltam cenas nos problemas... o copy paste correu um bocado mal!

    Problema A:
    A primeira function: function U=TrocaImpares (V);
    A segunda function: function x=isodd(n);

    Problema B:
    A primeira function: function U=ParCompSoma(V);
    A sugunda function: function C=Comp(V);

    Agora ta tudo bem!

    Até à próxima :)
     
  15. Datwo

    Datwo I'm cool cuz I Fold

    [offtopic\]eia que exagero!!!! só se ouve a musica do bom, o mau e o vilão... :D

    [joke\]ps. sou de LEIC, e o IST não é tão mau como dizem, por alguma razão criaram outros cursos que não LEIC e LEEC, qual emprego qual quê!!!! [joke] [offtopic\]
     
  16. HiGhVoIcE

    HiGhVoIcE Power Member

    lá por o central ser a nossa 2ª casa não é preciso ficares com inveja :002:

    ps1 - leec @ ist
    ps2 - os GAs são nossos! :P
    ps3 - sai brevemente...


    edit: para teres o codigo identado aqui no forum usa as tags
    Código:
     ;) [/SIZE]
     
  17. GoldenBoy

    GoldenBoy Power Member

    so para dar uma "achega", segundo o q li o matlab é uma ferramenta muito poderosa...... e é usada na bolsa de valores de NY, penso q ja dá para dar uma ideia do "animal"........

    Ate ficava parvo quando um prof q me deu Comunicações digitais se entretinha a fazer modelos de linhas de transmissão de dados em Simulink....... so para terem noção num trab q tive de fazer, numa simulação, tinha de obter 100 erros, onde demorava mais ou menos 1 dia a simular..........

    Estas coisas modernas....... :joker:
     

Partilhar esta Página