Matlab - posiciones a valores en matriz

 
Vista:
sin imagen de perfil
Val: 21
Ha disminuido su posición en 3 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

posiciones a valores en matriz

Publicado por Oscar (13 intervenciones) el 22/03/2017 20:16:58
Buenas tardes. Tengo un problema con darle valores de posicion a una matriz.
Tengo una matriz A a la cual tiene 100x1000 valores, pero cada valor que se encuentra dentro de la matriz A quiero otorgarle un a posicion en otra nueva matriz B. Ejemplo:

A; [ 11 12 13;
13 14 15;
16 171 8;
19 20 21;
22 23 24;
25 26 27]
%Coordenada columna x, y, z, A

B=[ 1 1 1 11;
2 1 1 12;
3 1 1 13;
1 2 1 13;
2 2 1 14;
3 2 1 15;
1 1 2 16;
2 1 2 17;
...
3 2 3 27]

pero a los valores de x y z quisiera algunos variarlos, digamos en vez que sea de 1, 2, 3 sean de 0.5, 1.5, 2.5 o 0.1, 0.6, 1.1 etc.
Agradezco la información y ayuda.
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

posiciones a valores en matriz

Publicado por JESUS DAVID ARIZA ROYETH (1818 intervenciones) el 22/03/2017 21:17:55
1
2
3
4
5
6
7
A=[ 11 12 13;
13 14 15;
16 17 18;
19 20 21;
22 23 24;
25 26 27];
B=[B reshape(A',[],1)];

ahí asignas esos valores de A en B , y para cambiar los valores debes acceder a las filas y columnas ejemplo B(1,2)=0.5; ahí asigno a la fila 1 columna 2 el valor de 0,5, espero te sea de ayuda
https://www.facebook.com/royethmatlab/
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
sin imagen de perfil
Val: 21
Ha disminuido su posición en 3 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

posiciones a valores en matriz

Publicado por Oscar (13 intervenciones) el 24/03/2017 18:33:28

Gracias por tu ayuda. Esto es algo de lo que llevo hecho, espero pueda explicarme :)




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
r = rand(15,5)
 
a=1
b=length(r(1,:))
 
n=length(r)/b
 
L=1
N = 1;
M = 1
 
A = 1;
B = length(r(1,a:b));
 
for k = 1:1:n
    F(A:B,3) = L
    for i = 1:1:length(r(1,a:b))
        F(A:B,1) = N;
        for j = 1:1:length(r(a:b,1))
            F(M,2) = j;
            F(M,3) = k;
            F(M,4) = r(i,j)
            M = M + 1;
        end
        N = N + 1;
        A = A + length(r(1,:));
        B = B + length(r(1,:));
        if N>5
            N=1
        end
    end
end
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

posiciones a valores en matriz

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 22/03/2017 21:37:26
1
2
3
4
5
6
7
8
9
10
11
12
clear all
A= [ 11 12 13;
13 14 15;
16 171 8;
19 20 21;
22 23 24;
25 26 27];
B(:,1)=[repmat([0.5 1.5 2.5],[1,6])]';
B(:,2)=[repmat([1 1 1 2 2 2],[1,3])]';
N=[repmat([1 1 1 1 1 1 2 2 2 2 2 2],[1,3])]';
B(:,3)=N(1:size(B,1))
B(:,4)=A(:)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
>> integrales2
B =
    0.5000    1.0000    1.0000   11.0000
    1.5000    1.0000    1.0000   13.0000
    2.5000    1.0000    1.0000   16.0000
    0.5000    2.0000    1.0000   19.0000
    1.5000    2.0000    1.0000   22.0000
    2.5000    2.0000    1.0000   25.0000
    0.5000    1.0000    2.0000   12.0000
    1.5000    1.0000    2.0000   14.0000
    2.5000    1.0000    2.0000  171.0000
    0.5000    2.0000    2.0000   20.0000
    1.5000    2.0000    2.0000   23.0000
    2.5000    2.0000    2.0000   26.0000
    0.5000    1.0000    1.0000   13.0000
    1.5000    1.0000    1.0000   15.0000
    2.5000    1.0000    1.0000    8.0000
    0.5000    2.0000    1.0000   21.0000
    1.5000    2.0000    1.0000   24.0000
    2.5000    2.0000    1.0000   27.0000


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
0
Comentar
sin imagen de perfil
Val: 21
Ha disminuido su posición en 3 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

posiciones a valores en matriz

Publicado por Oscar (13 intervenciones) el 24/03/2017 18:32:29
Gracias por tu ayuda Jose. Estoy aprendiendo Matlab y pues esto es algo de lo que quiero y e hecho hasta ahora. Es un ejempl, donde l que quiero es darle posiciones a una matriz de 15x5 donde las posiciones vendrian dadas en una matriz cuadrada 5x5 que corresponden filas a Y y columnas a X (puede ser viceversa) y los siguientes valores serian otra coordenada del eje Z. El problema que poseo es que quiero ahora decirle que en vez de darle coordenadas o valores de 1 en 1 hasta 5 quiero que sean valores de 0.2 hasta 1 en X, Y, Z.

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
clc
clear
 
r = rand(15,5)
 
a=1
b=length(r(1,:))                          %Valores X,Y
 
n=length(r)/b                             %Eje Z
 
L=1
N = 1;
M = 1
 
A = 1;
B = length(r(1,a:b));
 
for k = 1:1:n
    F(A:B,3) = L
    for i = 1:1:length(r(1,a:b))          %Eje X, numero de columnas
        F(A:B,1) = N;
        for j = 1:1:length(r(a:b,1))      %Eje Y, numero de filas
            F(M,2) = j;
            F(M,3) = k;
            F(M,4) = r(i,j)
            M = M + 1;
        end
        N = N + 1;
        A = A + length(r(1,:));
        B = B + length(r(1,:));
        if N>5
            N=1
        end
    end
end


Se que el programa se encuentra un poco desordenado, peroespero me entienda lo que deseo hacer para que me colabore. Muchas gracias.
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