• Martes 5 de Mayo de 2026, 21:56

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - cucu

Páginas: [1]
1
Matlab / Re: PROGRAMACION MATLAB
« en: Martes 8 de Septiembre de 2009, 12:44 »
Hola, parece que te he entendido, el elemento que sacas es aleatorio, ¿no? pues yo lo realizaría de la siguiente manera:

x = [2,3,4,5];

y = find(x>1); aunque ahora da igual porque son todos por si otro ejemplo que no sea así.

luego cuentas el número de elementos, y con rand sacas un número aleatorio entre 0 y 1, multiplicas por el número de elementos, como te dará un número con decimales, con floor o round o ceil o... redondeas (ya ves tú cual te viene mejor) y extraes ese elemento.

El código es bastante simple, pero no me parece "etico" ponerlo. Si no conoces rand o floor o alguna otra función mira la help para ayudarte.

Espero que te sirva esta vez. Saludos

2
Matlab / Re: PROGRAMACION MATLAB
« en: Domingo 6 de Septiembre de 2009, 22:57 »
Hola, a ver si te he entendido bien, tienes un vector x = [2 3 4 5] y quieres eliminar los que no cumplan una condición, por ejemplo, te quieres quedar con los que cumplen que son mayores que 3, eso se hace así:

find(x>3)

si pones una condición la busca, puedes también obtener las coordenadas de cada elemento que cumple la condición, mira la help de find y verás la de cosas que se pueden hacer.


Eso de inclusionar... en fin, no tengo ni idea de que quieres hacer, ni siquiera se si te he respondido a lo que preguntas, si intentas explicarte mejor quizá pueda ayudarte (y quizá no...)


Espero que te sirva. Saludos

3
Matlab / Re: Como calcular el maximo en una fila
« en: Jueves 3 de Septiembre de 2009, 15:21 »
Hola, si estás aprendiendo, lo primero que tienes que saber, es que por norma general hay que evitar los bucles. Lo que quieres hacer se hace de la siguiente manera, me invento una matriz de ejemplo y hago paso a paso (luego lo puedes unir todo en uno):

A = [ 2    5    3
        4    -8   1
        5    2    9]

Imaginamos que quieres el máximo de la segunda fila en valor absoluto, extraemos la fila lo primero:

fila = A(1,:); %Fila 1, todas las columnas

Ahora el valor absoluto:

absoluto = abs(A);

Y ahora el máximo:

maximo = max(absoluto);


En una sola línea sería:

maximo = max(abs(A(1,:)));

Espero que te sirva. Saludos

4
Matlab / Re: diferencia entre | y ||
« en: Viernes 12 de Junio de 2009, 09:50 »
Gracias! me ha quedado clarísimo.

Saludos

5
Matlab / diferencia entre | y ||
« en: Jueves 11 de Junio de 2009, 11:25 »
pues esa es mi duda, nada más, que diferencia hay entre poner:

if (variable < 2 || variable > 7)

y

if (variable < 2 | variable > 7)


Gracias. Saludos

6
Matlab / Re: evitar bucles
« en: Viernes 22 de Mayo de 2009, 09:17 »
uyyy, que mal lo hice! esto era solo un ejemplo. En realidad lo que quiero hacer no es tan simple. En realidad lo que quiero es que hagan diferentes cosas, aver si me explico mejor con este nuevo ejemplo:

Funcion salida:

x-y -> si x >y
0 -> resto de casos

osea:

>> x=[4 7 9]

x =

4 7 9

>> y=[3 8 2]

y =

3 8 2

z = [1 0 7]

Gracias y perdón por la confusión

7
Matlab / evitar bucles
« en: Jueves 21 de Mayo de 2009, 20:37 »
hola, me gustaría saber si es posible hacer, evitando un bucle la siguiente operación:

tengo dos vectores fila, y quiero conseguir otro que en todos sus elementos sea el mayor de los otros 2, por ejemplo:


x = [4, 7, 9];
y = [3, 8, 2];

La solución sería:

z = [4, 8, 9]

Gracias. Saludos

8
Matlab / Re: abrir extensión .mat
« en: Jueves 21 de Mayo de 2009, 19:41 »
ya lo he solucionado, por si alguien lo necesita es:

    load 'archivo.mat';

y luego la variable se llama archivo.

Gracias de todos modos. Saludos

9
Matlab / abrir extensión .mat
« en: Jueves 21 de Mayo de 2009, 19:09 »
Hola, se qeu es una duda bastante básica, pero no se como almacenar en una matriz el contenido de una variable con extensión mat.

supongo que será algo tipo :

    x = load(archivo.mat)


Pero no funciona, según veo es una variable de 1x256, asi que devolverme la columna ¿no?


Gracias por la ayuda

10
Matlab / Re: ordenación de matrices
« en: Lunes 4 de Mayo de 2009, 16:39 »
Gracias por la respuesta lo haré "a mano" entonces.

Saludos

11
Matlab / Re: ordenación de matrices
« en: Lunes 4 de Mayo de 2009, 08:52 »
Hola, voy a intentar explicarme... es que es dificil...

En realidad yo tengo tres vectores A, B y C 1x7, vamos una fila, siete columnas.

Cada elemento está relacionado con el elemento de la misma posición en los otros vectores. Vamos, A(1,3) está relacionado con B(1,3) y C(1,3).

Lo que quiero hacer es ordenar de menor a mayor B y que A y C se reordenen de la misma manera para que siga existiendo la correspondencia que existía. Es decir, si el elemento 4 de B se ha quedado en la posición 2, quiero también cambiar este elemento en A y C.

Entonces, yo he empezado creando una matriz de 3x7, donde cada fila es uno de los vectores, pensando en que la función sort podía ayudarme. Si hay otra forma más adecuada de hacerlo lo cambio.

Espero que ahora se me haya entendido, si no decirme y lo vuelvo a intentar.

Gracias. Saludos

12
Matlab / ordenación de matrices
« en: Domingo 3 de Mayo de 2009, 17:39 »
hola, soy bastante novatilla en matlab y algo que debería ser fácil no consigo que funcione.

Me gustaría ordenar una matriz en orden creciente de la segunda fila, algo así:

A = [1 2 3
       5 6 4
       7 8 9]

Debería quedar así:

B = [3 1 2
       4 5 6
       9 7 8]

Parece qeu lo más adecuado sería la función "sort", pero no parece que ninguna de sus opciones me sirva.

sort(A,2) ordena por filas, pero cada una independiente.

¿Hay alguna manera de tratar a las columnas como bloques para conseguir lo que quiero? ¿o alguna otra función que sirva para hacerlo?

Gracias. Saludos

Páginas: [1]