Desesperada com MATLAB

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
 
É 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
 
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:
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.
 
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
 
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 :)
 
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 :)


 
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 :)
 
edumad disse:
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.

[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\]
 
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]
 
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:
 
Back
Topo