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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
%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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
%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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
%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); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
%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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
%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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
%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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
% 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); |
0 comentarios:
Publicar un comentario