Matlab - Ayuda Matlab

   
Vista:

Ayuda Matlab

Publicado por jose (1 intervención) el 16/02/2011 18:19:14
Hola,

Estoy recien aprendiendo a utilizar Matlab y necesito que alguien me ayude.

La pregunta es bien sencilla. Estoy creando algo bien sencillo para efectuar operaciones con matrices.

En un primer instante el programa pregunta por el numero de matrices a utiizar. A partir de aquí, según el número ingresado (1,2 3... 4 matrices) el programa te pide que ingreses los valores de dichas matrices y después la ecuación a ejecutar.

Ejemplo:

Número matrices: 2
Valor Matriz A: [3 4 5; 6 7 8]
Valor Matriz B: [4 5 6; 6 7 8]
Ecuación: 2*A+B
Resultado:
10 13 16
21 18 24

Lo que no consigo es como escribir los códigos de manera general. Si quiero operar con 2 matrices quiero que el programa pregunte por los valores de las matrices A y B. Si quiero operar con 3 matrices, quiero que el programa me pida los valores de las matrices A, B y C. Si escribo un '5' quiero que el programa me pida los valores de las matrices A,B,C,D,E..y así con cualquier número entero positivo hasta 26. No quiero tener que escribir el proceso 26 veces. Lo que quiero conseguir es que el programa asocie el número que escribo (número de matrices en la operación) con el número de veces que me tiene que preguntar el valor de dichas matrices.
Eso es lo que quiero saber. Si hay otra forma de conseguir lo mismo sin tener que escribir el proceso 26 veces.
Espero haber transmitido bien la idea.
Aquí os escribo lo que he hecho. Muchas gracias por todo. Estoy aprendiendo por libre y no sé a quien preguntar.
Gracias otra vez.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Number_matrices = input('number of matrices ');

if Number_matrices == 1;
A = input('matrix value A ');

Answer = input('calculation ')

elseif Number_matrices == 2;
A = input('matrix value A ');
B = input('matrix value B ');

Answer = input('calculation ')

elseif Number_matrices == 3;
A = input('matrix value A ');
B = input('matrix value B ');
C = input('matrix value C ');

Answer = input('calculation ')

elseif Number_matrices == 4
A = input('matrix value A ');
B = input('matrix value B ');
C = input('matrix value C ');
D = input('matrix value D ');

Answer = input('calculation ')


elseif Number_matrices < 1
disp('not possible')

elseif Number_matrices >4
disp('not possible')

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

RE:Ayuda Matlab

Publicado por Jorge (226 intervenciones) el 18/02/2011 01:40:32
Me parece que estás tomando un camino difícil para aprender Matlab.

Normalmente los datos se ingresan en el editor de archivos y se colocan las operaciones que deseas, no le pides al usuario ingresar los datos, porque tendrían que ser matrices de tamaño muy reducido. Imagina si tienes que introducir una matriz
1000 x 1000...

Bueno, 5 matrices de 4 x 4 sí se pueden introducir a mano, con fines didácticos.

En un caso real, los datos están en algún archivo y se pueden leer, trabajarlos y poner los resultados en otros archivos.

Hay iteraciones for y while, que sirven para 'automatizar' ciertos procedimientos similares.

Lo de pedirle al usuario que introduzca las operaciones a efectuar, pues está más complicado, porque se tienen que introducir en un formato muy específico, o hacer una gran labor de codificación para saber lo que el usuario quiere. Esto no es trabajo trivial y no me parece buena idea que inicies con ello.

Hay un libro gratuito que se llama "Aprenda Matlab como si estuviera en primero". Búscalo en Google y te aparecerá fácilmente.

Hay demostraciones (videos) de Mathworks aquí:
http://www.mathworks.com/products/matlab/demos.html

Hay un curso del MIT, aquí:
http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-094-introduction-to-matlab-january-iap-2010/

Hay ejemplos sencillos aquí:
http://www.matrixlab-examples.com

En fin, hay muchos recursos para aprender. Los foros también sirven, pero frecuentemente hay muchas preguntas y pocas respuestas....
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