Matlab - Error in perm1 (line 4) [n,~]= size(A);

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

Error in perm1 (line 4) [n,~]= size(A);

Publicado por Benjamin (17 intervenciones) el 08/10/2020 22:33:38
Cada vez que apreto Run me tira el error que puse en el titulo, como puedo arreglarlo??


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function P = perm1(A,k)
 
 
[n,~]= size(A);
 
P = eye(n);
M=max(abs(A(k:n,k)));
r=find(abs(A(k:n,k))==M)+k-1;
r=r(1);
P(r,k)=1;
P(k,r)=1;
   if r~=k
    P(r,r)=0;
    P(k,k)=0;
   end
 
A=P*A;
end
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
Val: 48
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Error in perm1 (line 4) [n,~]= size(A);

Publicado por Benjamin (17 intervenciones) el 08/10/2020 22:59:08
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
clc;
close all
clear all
 
%Este codigo mediante el metodo de Gauss resuelve un sistema de ecuaciones
%lineales%
 
A=[99 -32 -50 0 0 0 -5;
   -32 72 -5 -35 0 0 0;
   -50 -5 127 -60 0 0 -12;
   0 -35 -60 163 -25 -43 0;
   0 0 0 -25 58 -3 0;
   0 0 0 -43 -3 131 0;
   -5 0 -12 0 0 0 42];
 
b=[220;0;0;0;0;0;0];
Son codigos que estoy usando en paralelo, la idea es resolver un ejercicio mediante metodo de gauss con permutacion pero la permutacion que es lo que envie primero me esta dando problemas.

1
2
3
4
5
6
7
8
9
10
11
function [G] =Gauss_matrizsuperior(A,b)
n=length(b);
G=[A,b];
for j=1:n-1
    P = perm_Grupo4_P1(G,j);
    G=P.*G;
    for k=j+1:n
        G(k,:)=G(k,:)-G(j,:)*G(k,j)/G(j,j);
    end
end
end

Esta es la otra parte, si me pudieras ayudar estaria muy agradecido llevo dias con esto soy nuevo en matlab :(
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: 48
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Error in perm1 (line 4) [n,~]= size(A);

Publicado por Benjamin (17 intervenciones) el 08/10/2020 23:22:18
Donde falta esta funcion??
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: 48
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Error in perm1 (line 4) [n,~]= size(A);

Publicado por benjamin (17 intervenciones) el 08/10/2020 23:55:25
No entiendo, sera posible comunicarme contigo mediante correo electronico?? ya que por aca se demora mucho en enviar cada respuesta
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

Error in perm1 (line 4) [n,~]= size(A);

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 08/10/2020 23:57:50
Estimada las ayudas lo ofrecemos por este medio.
Nuestro correo está orientado para servicios de programación.
Saludos.
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: 48
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Error in perm1 (line 4) [n,~]= size(A);

Publicado por benjamin (17 intervenciones) el 09/10/2020 00:55:52
Okey, me puedes explicar donde falta esa funcion es que no entendi, donde debo ponerla
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

Error in perm1 (line 4) [n,~]= size(A);

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 09/10/2020 00:58:09
1
2
3
4
5
6
7
8
9
10
11
function [G] =Gauss_matrizsuperior(A,b)
n=length(b);
G=[A,b];
for j=1:n-1
    P = perm_Grupo4_P1(G,j);
    G=P.*G;
    for k=j+1:n
        G(k,:)=G(k,:)-G(j,:)*G(k,j)/G(j,j);
    end
end
end


Aca falta la función perm_Grupo4_P1
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: 48
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Error in perm1 (line 4) [n,~]= size(A);

Publicado por benjamin (17 intervenciones) el 09/10/2020 01:25:31
pero esa seria la de la linea 5 o no?
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: 48
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Error in perm1 (line 4) [n,~]= size(A);

Publicado por benjamin (17 intervenciones) el 09/10/2020 01:43:25
en que linea la agregarias?
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

Error in perm1 (line 4) [n,~]= size(A);

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 09/10/2020 01:46:14
En su código usa este termino P = perm_Grupo4_P1(G,j);. Al parecer es una función.La pretgunta es ¿que hace ese sentencia?. ¿Porque escribió ese sentencia?.
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: 48
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Error in perm1 (line 4) [n,~]= size(A);

Publicado por benjamin (17 intervenciones) el 09/10/2020 01:49:45
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function P = perm1(A,k)
 
 
[n,~]= size(A);
 
P = eye(n);
M=max(abs(A(k:n,k)));
r=find(abs(A(k:n,k))==M)+k-1;
r=r(1);
P(r,k)=1;
P(k,r)=1;
   if r~=k
    P(r,r)=0;
    P(k,k)=0;
   end
 
A=P*A;
end
aqui esta esa funcion en terminos de A,k



1
2
3
4
5
6
7
8
9
10
11
function [G] =Gauss_matrizsuperior(A,b)
n=length(b);
G=[A,b];
for j=1:n-1
    P = perm_Grupo4_P1(G,j);
    G=P.*G;
    for k=j+1:n
        G(k,:)=G(k,:)-G(j,:)*G(k,j)/G(j,j);
    end
end
end
y aqui la uso en otro codigo para hacer una matriz triangulo superior pero aqui los terminos estan en (G,j) por lo tanto a la funcion de permutacion le cambio el (A,k) por (G,j)
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

Error in perm1 (line 4) [n,~]= size(A);

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 09/10/2020 01:52:18
Esta función P = perm1(A,k) y la función P = perm_Grupo4_P1(G,j) son distintos , porque uno se llama perm1 y el otro se llama perm_Grupo4_P1
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: 48
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Error in perm1 (line 4) [n,~]= size(A);

Publicado por benjamin (17 intervenciones) el 09/10/2020 01:57:25
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function P = perm_Grupo4_P1(A,k)
 
 
[n,m]= size(A);
 
P = eye(n);
M=max(abs(A(k:n,k)));
r=find(abs(A(k:n,k))==M)+k-1;
r=r(1);
P(r,k)=1;
P(k,r)=1;
   if r~=k
    P(r,r)=0;
    P(k,k)=0;
   end
 
A=P*A;
end

Lo siento se me olvido mandar la corrección, ahora tienen los mismos nombres pero aun asi no funciona

1
2
3
4
5
6
7
8
9
10
11
function [G] =Gauss_matrizsuperior(A,b)
n=length(b);
G=[A,b];
for j=1:n-1
    P = perm_Grupo4_P1(G,j);
    G=P*G;
    for k=j+1:n
        G(k,:)=G(k,:)-G(j,:)*G(k,j)/G(j,j);
    end
end
end



>> perm_Grupo4_P1
Not enough input arguments.

Error in perm_Grupo4_P1 (line 4)
[n,m]= size(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
sin imagen de perfil
Val: 48
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Error in perm1 (line 4) [n,~]= size(A);

Publicado por benjamin (17 intervenciones) el 09/10/2020 02:03:58
con el boton Run o debo hacer otra cosa antes?
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

Error in perm1 (line 4) [n,~]= size(A);

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 09/10/2020 02:10:08
Sus códigos son funciones, los códigos scripts se ejecutan con run, pero los funciones no se ejecutan con run, las funciones se ejecutan introduciendo valores dentro de la función.
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: 48
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

Error in perm1 (line 4) [n,~]= size(A);

Publicado por benjamin (17 intervenciones) el 09/10/2020 02:13:26
aaah okey, eso no lo sabia aplicare eso ahora, muchas gracias por tu ayuda
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