Matlab - Reemplazo de vector

 
Vista:
sin imagen de perfil

Reemplazo de vector

Publicado por Cristopher (3 intervenciones) el 16/02/2017 05:52:45
Necesito ayuda con este problema: function w = problema (v, a, b, c). El primer argumento
de entrada v es un vector, mientras que a, b, y c son todos escalares. La funcion reemplaza
cada elemento de v que es igual a a con b y c. Por ejemplo, el comando
x = problema4 ([1,2,3], 2,4,5);
Hace x igual a [1 4 5 3]. Si se omite c, reemplaza las ocurrencias de a con dos copias de b. Si
b tambien se omite, reemplaza a a con dos ceros.

Gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

Reemplazo de vector

Publicado por Cristopher (3 intervenciones) el 16/02/2017 15:30:41
No soy programador :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Dave
Val: 497
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Reemplazo de vector

Publicado por Dave (1094 intervenciones) el 16/02/2017 17:42:38
Hola Cristopher;

A continuación una opción de como podrías programar la función.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
function nv = problema4(v,a,b,c)
nv = [];
 
switch nargin
    case 4
        for n = 1:length(v)
            if v(n) == a
                nv = [nv,[b,c]];
            elseif v(n) ~= a
                nv = [nv,v(n)];
            end
        end
    case 3
        for n = 1:length(v)
            if v(n) == a
                nv = [nv,[b,b]];
            elseif v(n) ~= a
                nv = [nv,v(n)];
            end
        end
    case 2
        for n = 1:length(v)
            if v(n) == a
                nv = [nv,[0 0]];
            elseif v(n) ~= a
                nv = [nv,v(n)];
            end
        end
end

Aquí unos ejemplos:

1
2
3
4
5
6
7
8
9
10
11
>> x = problema4 ([1,2,2,3], 3)
 
x =
 
     1     2     2     0     0
 
>> x = problema4 ([1,2,2,3], 3, 4,6)
 
x =
 
     1     2     2     4     6

​Espero que sea de alguna ayuda.

Saludos
Dave Correa
[email protected]
[email protected]
Servicios de Programación Matlab
http://fismatlab.org​​
http://fismatlab.blogspot.com

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar