





Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Los mejores documentos en venta realizados por estudiantes que han terminado sus estudios
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Descubre las mejores universidades de tu país según los usuarios de Docsity
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
El código MATLAB para el análisis de sistemas electromagnéticos, específicamente el modelado de imanes lineales. Se realiza la inicialización de variables, la creación de una pista de imanes, el cálculo de áreas, resistencias y corriente, y el cálculo de la fuerza magnética. Además, se grafican el campo magnético del imán, la resistencia y la corriente. útil para estudiantes de ingeniería electromagnética o física.
Qué aprenderás
Tipo: Guías, Proyectos, Investigaciones
1 / 9
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!
Equipo: Francisco Rafael Bobadilla Castrejón A01638134 IMT, Germán Figueroa Javier A01638107 IMD,
Jesús Alberto González Jurado A01638523 IMT, Sergio Arturo Tirado Gómez A01637877 IIS, Andrea Vázquez Vila A00571423 IMD
%%%%%Inicialización Variables%%%%% clear all; clear vars; N= 10;% Numero de imanes dx=2E-3; % Cambio en "x"(de dos milímetros)-espaciamiento mínimo de la simulación dy=2E-3; % Cambio en "y"(de dos milímetros) b=1; % Separación entre pared e iman (1 unidad de espaciamiento=2mm=dx=dy) d=1; % Separación entre imanes l=25; % Largo del iman a=21; % Ancho del iman Filename="Bzz_4.csv"; %se asigna un nombre predeterminado al archivo zVar=40; % Se asigna valor a z V=9; %Voltaje de la bateria Rint= 2; %Resistencia interna de batería (considerando que es nueva) RhoVar= 2.8E-8; % Resistividad de varilla aluminio RhoRiel= 1.7E-8; % Resistividad de riel cobre CalVar=3;% Calibre de la varilla CalRiel=3.5; % Calibre riel rr=(CalVar/2); % Radio riel rv=(CalRiel/2); % Radio varilla x=0:dx:(l-1)dx; % x toma las dimensiones de longitud y=0:dy:(a-1)dy; % y toma las dimensiones de ancho i=0; % Valor inicial contador iteraciones f=0; % Valor inicial para la multiplicación de IB F=[]; % Matriz inicialmente vacía de los valores de fuerza q=0; % La fuerza total (sumatoria de los valores de la matriz de fuerza) lv=80; % Longitud varilla lr=250; % Longitud riel mv=2.08; %masa varilla tf=6.4522; %tiempo final calculado con cinemática
M1.0A: Colocación y Exploración del Campo del Imán
%%%%%Importar datos y graficar%%%%%
imanz=readmatrix(Filename); % Asignar los valores de excel (de campo magnético) a una variable [u,v]=meshgrid(x,y); % Crear una malla con los valores de x y w=ones(size(u)); % Crea una matriz de unos con el tamaño de u (x)
imanx=zeros(size(u)); %Crea una matriz de ceros con las mismas dimensiones que w imany=zeros(size(v)); % Crea una matriz con las dimensiones de y quiver3(u,v,w,imanx,imany,imanz); %Generar el gráfico en 3D del campo de un iman title("Gráfico Campo Magnético de un Imán") ; xlabel("x"); ylabel ("y"); zlabel("z");
%%%%%Crear la "pista" de los imanes%%%%%
Bpista=zeros(a,b); % Crea el pista de los imanes con los la cantidad de renglones de a y agrega Bpista=[Bpista,imanz]; %Se agrega a la matriz de la pista los valores del excel (campo un iman) e=zeros(a,d); % Matriz de espaciamiento entre imanes Bpista=[Bpista,e]; % Se agrega un espacio después del iman for i=2:N % Repite el ciclo hasta llegar al # de imanes Bpista=[Bpista,imanz]; % Se agregan los datos de otro imán Bpista=[Bpista,e]; % Se agrega el espacio entre imán end Lpista=length(Bpista(1,:)); % Se asigna un valor numérico para la longitud de la pista
%%%%%Grafica Pista%%%%%
x=0:dx:(b+lN+dN-1)dx; % Se asigna nuevo valore a x (largo de la pista) y=0:dy:(a-1)dy; % Se asigna nuevo valore a y (ancho de la pista) [u,v]=meshgrid(x,y); % Se crea una malla com las medidas de la pista w=ones(size(u))*zVar; pistax=zeros(size(Bpista)); pistay=zeros(size(Bpista)); quiver3(u,v,w,pistax,pistay,Bpista); % Graficar la pista con el campo magnético de cada iman
M1.0B: Modelación Ohmica
%%%%%Cálculo áreas%%%%%
Ariel= ((rr)^2)pi;% Area riel Avara= ((rv)^2)pi; % Área varilla
volt=zeros(size(x));
%En las siguientes líneas de código se encuentra un voltaje variable, que ha %sido comentada a fin de mostrar los gráficos originales %for p=1:Lpista %if p<=round(Lpista/2) %volt(p)=9; %elseif p>round(Lpista/2) %if rem(p,2)== %volt(p)=0; %else %volt(p)=9; %end %end
%end volt=V*ones(size(x)); %Arreglo del voltaje (este debe de ser comentado si se quiere usar el vol
%%%%%Cálculo resistencias%%%%%
longriel=0:1:Lpista-1; %Longitud de riel
Rvara= ((RhoVar.lv)./Avara); %Resistencia de la varilla R=((RhoRiel.longriel)./Ariel)+ Rvara +Rint; %Resistencia total
%%%%Cálculo corriente%%%%%%%
I= volt./(R); %Corriente
%%%%%%%%%%%% Graficando la resistencia %%%%%%%%%%%%%%%%%%
plot(x,R) title("Gráfica de resistencia (Ohms)"); xlabel("Posición x (mts)"); ylabel("Resistencia (ohms)"
%%%%%Graficar la corriente%%%%%%%
plot(x,I); title("Gráfica de Corriente en (Amperes)"); xlabel("Posición x (mts)"); ylabel("Corriente I (am
M1.0D: Modelación de la Dinámica del Movimiento
%%%%%%%%%%%%%%%%%% Runge Kutta%%%%%%%%%%%%%%%%%%%%%%%%%
clf; % Limpia las figuras
xk=0; % Reiniciando el valor de la variable x Ve=0; % Reiniciando el valor de la variable v t=0; %tiempo inicial
h=tf/1000;
xk(1)=bdx; % primer coordenada de x donde se siemte campo magnético Ve(1)=0; % velocidad inicial for i=1: kf1 = Ve(i); % kf representan las k's evaluadas en la primera EDO V X = xk(i)/dx; % Obtiene el valor de k1 (k1=X) de la segunda función y lo convierte a ente X = round(X)+1; % Se redondea el valor y se suma uno (para seguir evaluando) kg1 = F(X)/mv; % kg representa las k's para la segunda EDO (Fx)/m
kf2 = Ve(i)+kf1h/2; % Se repite el mismo procesos con las diferentes ecuaciones de k (k2, X= (xk(i)+kg1(h/2))/dx; X=round(X)+1; kg2= F(X)/mv;
kf3 = Ve(i)+kf2h/2; X=(xk(i)+ kg2(h/2))/dx; X=round(X)+1;
kg3=F(X)/mv;
kf4 = Ve(i)+kf3h; X= (xk(i)+(hkg3))/dx; X=round(X)+1; kg4=F(X)/mv;
xk(i+1) = xk(i)+((h/6)(kf1+2kf2+2*kf3+kf4)); % Se asigna el siguiente valor de x
Ve(i+1)= Ve(i)+((h/6)(kg1+2kg2+2*kg3+kg4)); % Se asigna el siguiente valor de velocidad
t(i+1)= t(i)+h; % Se aumenta el tiempo para igualar dimensiones de xk y Ve
if xk(i+1)==lr % Como el valor de xk (la posición no puede exceder a la longitud del riel break; end end % Graficar posición contra tiempo plot(t,xk,'g .') title('Posición'); xlabel('Tiempo t [s]'); ylabel('Posición x [m]'); grid on;
% Graficar velocidad contra tiempo