Matlab - Igualar Matrices

 
Vista:
sin imagen de perfil

Igualar Matrices

Publicado por Marco Antonio (61 intervenciones) el 24/10/2017 23:56:50
tengo un programa que guarda valores en una matriz con cada iteracion el problema que tengo es que tengo que comparar las dos matrices y una es de 5 y la otra es de 6 como hago para que al final del bucle for la primera matriz tenga 6 en ves de 5, se podría añadir un cero en la ultima iteracion ?

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
clear all
close all
clear var
clc
 
for k=1:10
 
P1=randi([0 (2^42-1)],10,1)%Asigna valore decimales de forma aleatoria a P1
fx1=randi([1 (100)],10,1)
 
 
fX1=sort(fx1,'descend');
[maximo]=max(fX1)
fx1max(k)=[maximo]
fx2max(k+1)=fx1max(k)
[fila1, columna1]=find(fx1==maximo)
valor_correspondiente1=P1(fila1,columna1)
valor_correspondiente2(k)=valor_correspondiente1
valor_correspondiente3(k+1)=valor_correspondiente2(k)
 
 
if valor_correspondiente2(k+1)>valor_correspondiente2(k)
 
    P1(fila1,1)=valor_correspondiente2
 
end
end

me da el siguiente error

Attempted to access valor_correspondiente2(2); index out of bounds because
numel(valor_correspondiente2)=1.

Error in Prueba21 (line 22)
if valor_correspondiente2(k+1)>valor_correspondiente2(k)
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

Igualar Matrices

Publicado por JOSE JEREMIAS CABALLERO (5918 intervenciones) el 25/10/2017 03:26:20
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
clc
format short
for k=1:10
P1=randi([0 (2^42-1)],10,1)%Asigna valore decimales de forma aleatoria a P1
fx1=unique(randi([1 (100)],10,1))
fX1=unique(sort(fx1,'descend'));
[maximo]=max(fX1)
fx1max(k)=[maximo]
fx2max(k+1)=fx1max(k)
[fila1, columna1]=find(fx1==maximo)
valor_correspondiente1=P1(fila1,columna1)
valor_correspondiente2(k)=valor_correspondiente1
valor_correspondiente3(k+1)=valor_correspondiente2(k)
 
if k>=2
if valor_correspondiente2(k)>valor_correspondiente2(k-1)
P1(fila1,1)=valor_correspondiente2(k-1);
end
end
end

Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil

Igualar Matrices

Publicado por Marco Antonio (61 intervenciones) el 25/10/2017 03:33:26
Muchas Gracias es justo lo que necesito eres el mejor
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