Matlab - resta consecutiva de vectores

 
Vista:

resta consecutiva de vectores

Publicado por luis (1 intervención) el 24/06/2015 02:35:06
hola, que tal tengo una consulta
digamos que tengo un vector [16 1 15] y lo quiero restar con un vector [6 2], pero de tal forma que se repita el 6,2 hasta terminar de restar toda la matriz,es decir,
[16 1 15]-[6 2 6]
o si tengo [5 8 9 4 2] y [2 3 6]
seria [5 8 9 4 2]-[2 3 6 2 3]
y se debe tener en cuenta que el vector tiene una cantidad de elementos "x" al igual que el otro vector, no necesariamente el mismo valor
espero que puedan aclarar esta duda
gracias
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
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

resta consecutiva de vectores

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 24/06/2015 06:25:37
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
clear all
X=round(10*rand(1,round(50*rand+1)))
x=length(X);
 
Y=round(10*rand(1,round(10*rand+2)))
y=length(Y);
 
while y<=x
    Y=[Y, Y];
    y=length(Y);
end
 
display(X)
Y=Y(1:x);
display(Y)
R=X-Y


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
30
31
32
33
34
35
36
37
>> vector
X =
     6     1     9     6     1     7     4     1     2     2     2     7     8     5     6     6    10     6     6     9     6     3
 
Y =
     4     6     7     7     2     1     3     9     6     5     4     8
 
Y =
     4     6     7     7     2     1     3     9     6     5     4     8     4     6     7     7     2     1     3     9     6     5
 
R =
     2    -5     2    -1    -1     6     1    -8    -4    -3    -2    -1     4    -1    -1    -1     8     5     3     0     0    -2
 
>> vector
 
X =
  Columns 1 through 24
     7     2     4     5     4     5     3     8     4     7     5     7     9     5     9     2     9     1     5     0     8     2     2     2
  Columns 25 through 34
     7     2     3     8     5     9     1     4     6     6
 
Y =
     1     3     0    10     8     8     1     3     2     5
 
Y=
  Columns 1 through 24
     1     3     0    10     8     8     1     3     2     5     1     3     0    10     8     8     1     3     2     5     1     3     0    10
 
  Columns 25 through 34
     8     8     1     3     2     5     1     3     0    10
 
 
R =
  Columns 1 through 24
     6    -1     4    -5    -4    -3     2     5     2     2     4     4     9    -5     1    -6     8    -2     3    -5     7    -1     2    -8
  Columns 25 through 34
    -1    -6     2     5     3     4     0     1     6    -4



Saludos
JOSE JEREMÍAS CABALLERO
Asesoría online en Matlab
Servicios de programación matlab
[email protected]
skype: josejeremiascaballero
Estimado Usuario, el correo es para servicios de cursos, asesoría y programación. Toda ayuda gratuita es vía foro
.


http://matlabcaballero.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
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

resta consecutiva de vectores

Publicado por Dave (1094 intervenciones) el 24/06/2015 07:56:47
Hola Luis;

Por cuestión de una mejor presentación te recomiendo que crees una función para hacer el procedimiento de igualar los tamaños de los vectores y luego realices la operación de resta.

Te dejo el código propuesto anteriormente en una versión de función

Espero ser de alguna ayuda:

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


1
2
3
4
5
6
7
8
9
clear all, clc
a=[16 1 15];
 
b=[6 2];
 
c = new_vector(a,b);
 
d = a - c;
disp(d)

y la función "new_vector.m"

1
2
3
4
5
function c = new_vector(a,b)
 
tmp=repmat(b,1,ceil(length(a)/length(b)));
 
c = tmp(1:length(a));
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