Trabajando con vectores en Matlab

Matlab es una herramienta poderosa que cada vez es mas útil. En este pequeño tutorial quiero explicar las cosas que no se encuentran muy fácil en las guiás o cursos básicos de matlab que hay en Internet.

Como guardar un vector en variables

Bueno quiero decir si tengo un vector [2 4 6] y quiero guardar cada numero que se encuentra en el vector, es decir a=2; b=4; c=6. La forma en lo explicare tiene sus desventajas ya que debemos saber el tamaño de las cifras del numero.

%Guardar un vector en Variables
a=[2 3];
b=a(1);
c=a(2);
% Por lo tanto el primer campo del vector sera asignado a la
%variable "a" y el segundo campo a la variable "b"


Como guardar un vector string, en variables diferentes

Si queremos guardar los campos de un vector string lo podemos hacer de la siguiente manera.


%Se tiene un vector llamado VECTOR y guardaremos en diferentes variables cada uno de sus campos
VECTOR = ['America';'Europa';'Asia'];
variable1=vector(1,:), % Asignanamos 'America' a variable1
variable2=vector(2,:), % Asignanamos 'Europa' a variable2
variable3=vector(3,:), % Asignanamos 'Asia' a variable3

Guardar el tamaño de un vector en una variable 

%Si queiremos saber cuantos campos tiene un vector, para luego
%guardar el vector en varias variables
%dado el vector v=[0 2 5 3 6 7 8];
v=[0 2 5 3 6 7 8];
%para conocer el tamaño del vector usamos el comando size()
size(v)
ans =
1 7
%vemos que el resultado del tamaño nos dice que hay 7 campos
%0 2 5 3 6 7 8 = 7 campos
%guardamos el tamaño en una variable
a=size(v)
% a= 1 7; pero queremos guardar el 7 que es el tamaño
t=a(2);
también podemos hacerlo lo mismo pero de una forma mas técnica.

%otra forma de guardar el tamaño del vector
>> r=[5 3 -5];
%guardando el primer campo del vector
>> r(1)
ans =5
%guardando el tamaño del vector
>> r(end)
ans =-5
>> length(r)
ans = 3

Agregar y quitar elementos de un vector

%GUARDAR PARTE DE UN VECTOR EN OTRA VARIABLE
>> v=[4 10 -3 7 -1 ];
>> u=v(2:4)
u = 10 -3 7
%AÑADIR ELEMENTOS A UN VECTOR
>>v=1:4
v =
1 2 3 4
%decimos que comience agregar numeros despues del ultipo campo lleno
%que es 4 y que llene hasta 10 campos, despues del ultimo campo lleno
%es el campo 5 hasta 10 y que agregue numeros del 7 al 22 en pasos de 3
>> v(5:10)=7:3:22
v =
1 2 3 4 7 10 13 16 19 22
%ELIMINAR ELEMENTOS DE UN VECTOR
>> e=[ -1 1 -5 2 3]
e = -1 1 -5 2 3
>> e(2:4)=[]
e = -1 3


Crear Vectores con números aleatorios limitado en un rango

%definimos los limites
menor=550;
mayor=680;
%creamos un vector usando el comando rand
%rand(1,5); crea un vetor con 5 columnas y 1 fila
vector = menor + (mayor-menor).*rand(1,5);
%el vector creado esta desordenado, lo arreglamos ascendente
Vector= sort(vector);
%necesitamos el vector como columna
H1=Vector'
%***********************
%Limpiamos las variables del workspace inecesarias
clear mayor menor vector Vector
%***********************
%ahora creamos el vector H2
%definimos los limites
menor=350;
mayor=480;
vector = menor + (mayor-menor).*rand(1,5);
Vector=sort(vector,'descend');
H2=Vector'
%***********************
%Limpiamos las variables del workspace inecesarias
clear mayor menor vector Vector
%***********************

Crear una Matriz a partir del llenado de una iutable (Guide)

Si deseas hacer una interfaz gráfica en Matlab, en donde halla una tabla editable, de tal manera que se pueda llenar y esos datos se puedan usar para hacer un gráfico o para cualquier otra cosa.
% Typiar el comando gude y crear un objeto uitable, luego se puede crear un boton que guarde la data
% hacemos click derecho al boton y le damos click en callback
%el comando get para obtener lo que tiene el objeto
ObtenerDatos=get(handles.uitable1,'data');
%para conocer la dimencion de la Matriz usamos size
n=size(ObtenerDatos,1);
% Creamos un archivo.dat con permisos de escritura 'w'
archivo=fopen('datos.dat','W');
%llenamos la matriz usando un For
for i=1:n
fprintf(archivo,'%s %s \n',ObtenerDatos{i,:})
end
%cerramos el archivo creado
fclose(archivo);
%cargamos la matriz igualandola a una varible
B=load('datos.dat');
%separamos el vector igualandolo a una variable
y=B(:,1);
x=B(:,2);
formamos la matriz
matriz=[x y];
%limpiamos pantalla del command Windows
clc
%para mostrar la grafica hay que crear un objeto axes
axes(handles.axes1);
%Graficamos usando el comando plot
plot(x,y);
view raw UsoDeIutable.m hosted with ❤ by GitHub

Comparte esta entrada

votar

0 comentarios:

Publicar un comentario

Pages 381234 »

 
Powered by Blogger