Matlab - Multiplicación de loop con una matriz

 
Vista:

Multiplicación de loop con una matriz

Publicado por Odett (3 intervenciones) el 15/10/2018 00:43:30
Necesito que equis multiple la matriz de longitud, pero me dice que las dimensiones no son iguales, pero aunque uso el código para matrices diferentes, no me lo permite.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
total_palabras = 15;
lista_palabras = ones(total_palabras,1);
longitud:[1,1,2,1,1,2,1,3,1,2,1,2,1,2,1]
decaimiento = 0.9;
umbral = 0.3;
 
T = 10; %esta linea representa el total de tiempos simulados
 
for t = 1:T
    decaimiento = decaimiento-0.05;
    for x = 1:total_palabras
        matriz_decaimiento(x,:) = decaimiento.^(x*longitud)';
    end
palabras_recordadas(:,t) = matriz_decaimiento > umbral;

end
Total_recordadas_por_momento = sum(palabras_recordadas);
plot(Total_recordadas_por_momento);
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 JESUS DAVID ARIZA ROYETH
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Multiplicación de loop con una matriz

Publicado por JESUS DAVID ARIZA ROYETH (1818 intervenciones) el 15/10/2018 01:27:12
verifica bien lo que deseas hacer porque a pesar de corregir el error no CREO que esté dando lo que quieras hacer

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
total_palabras = 15;
lista_palabras = ones(total_palabras,1);
longitud=[1,1,2,1,1,2,1,3,1,2,1,2,1,2,1]
decaimiento = 0.9;
umbral = 0.3;
 
T = 10; %esta linea representa el total de tiempos simulados
 
for t = 1:T
decaimiento = decaimiento-0.05;
for x = 1:total_palabras
matriz_decaimiento(x,:) = decaimiento.^(x*longitud)';
end
palabras_recordadas(:,t) = matriz_decaimiento(x,:) > umbral;

end
Total_recordadas_por_momento = sum(palabras_recordadas);
plot(Total_recordadas_por_momento);
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

Multiplicación de loop con una matriz

Publicado por Odett (3 intervenciones) el 15/10/2018 01:35:38
El código 'esta bien', el problema aquí es que si la variable de longitud tiene más de un valor marca un error, mientras que si tiene uno me permite ver la gráfica que modela que entre más letras de palabras, necesito más tiempo y recuerdo menos palabras.
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 JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Multiplicación de loop con una matriz

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 15/10/2018 04:56:19
Podría subir el código donde puede mostrar la gráfica.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
clear all
total_palabras = 15;
lista_palabras = ones(total_palabras,1);
longitud=[1,1,2,1,1,2,1,3,1,2,1,2,1,2,1,2,3];
decaimiento = 0.9;
umbral = 0.3;
T = 10; %esta linea representa el total de tiempos simulados
for t = 1:T
    decaimiento = decaimiento-0.05;
    for x = 1:total_palabras
        matriz_decaimiento(x,:) = decaimiento.^(x*longitud)';
    end
    palabras_recordadas(:,:,t) = matriz_decaimiento > umbral;

end
 Total_recordadas_por_momento = sum(palabras_recordadas,3);
 plot(Total_recordadas_por_momento);
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