Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: ARJP en 08 de Abril 2016, 23:51

Título: Matrices en Matlab reemplazar los valores de fila y columna por ceros ejercicio
Publicado por: ARJP en 08 de Abril 2016, 23:51
Buenas noches, tengo un problema con un ejercicio de Matlab.
Tengo una matriz de dimensiones n*n y tras leer los valores de una fila y una columna, tengo que modificar esa fila y esa columna en ceros. Como lo he programado solo me sale la matriz original y después se me modifica todo por 9:(

Código: [Seleccionar]
clear
clc
n=input('Introduce el número de filas/Introduce el número de columnas ');
for i=1:n
    for j=1:n
        fprintf('A(i,j) %d, %d= ', i,j);
        A(i,j)=input('valor ');
         
    end
end
fprintf('la matriz es: ' );
for i=1:n
    fprintf('\n' );
    for j=1:n
        fprintf ('%d ',A(i,j) );
    end
fprintf('\n' );
end

f=input('Introduce la fila ');
c=input('Introduce la columna ');
M(f,c)=A(i,j);
for i=1:n
    f==0;
    for i=1:n
        c==0;
        fprintf ('%d ',M(f,c) );
    end
fprintf('\n' );
end
Título: Re:Matrices en Matlab reemplazar los valores de fila y columna por ceros ejercicio
Publicado por: Alex Rodríguez en 10 de Abril 2016, 22:23
Hola en https://www.aprenderaprogramar.com/foros/index.php?topic=1313.0 se comenta la importancia de los fundamentos de programación, te recomiendo seguir el curso tutorizado o bien este curso donde se explican fundamentos de programación: http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=28&Itemid=59

En el ejercicio tienes que usar condicionales if. Una orientación:

Código: [Seleccionar]
clear
clc
n=input('Introduce el número de filas/Introduce el número de columnas ');
for i=1:n
    for j=1:n
        fprintf('A(i,j) %d, %d= ', i,j);
        A(i,j)=input('valor ');
         
    end
end
fprintf('la matriz es: ' );
for i=1:n
    fprintf('\n' );
    for j=1:n
        fprintf ('%d ',A(i,j) );
    end
fprintf('\n' );
end

f=input('Introduce la fila ');
c=input('Introduce la columna ');

for i=1:n

    for j=1:n
            if i=f | j=c
a(i,j)=0;
end
        fprintf ('%d ',A(i,j) );
    end
fprintf('\n' );
end

Saludos