Matlab - ayuda matlab robotica

 
Vista:

ayuda matlab robotica

Publicado por felipe largacha (2 intervenciones) el 28/05/2004 00:33:00
alguien me podria ayudar es que tengo un codigo de matlab en *.m y quiero convertilo en GUIDE el codigo es el siguiente

close all;
clc
A= [1;1;0;1]
B= [1;-1;0;1]
C= [-1;1;0;1]
E= [1;1;2;1]

plot3([A(1) B(1)],[A(2) B(2)], [A(3) B(3)],'b')
hold on
plot3([A(1) C(1)],[A(2) C(2)], [A(3) C(3)],'b')
plot3([A(1) E(1)],[A(2) E(2)], [A(3) E(3)],'b')
grid

mx=input('Punto en X:');
my=input('Punto en Y:');
mz=input('Punto en Z:');

angulo=input(' Digite Angulo de Giro:');
beta = (angulo*3.1416)/180;


mrz=[cos(beta) -sin(beta) 0 0 ; sin(beta) cos(beta) 0 0 ; 0 0 1 0; 0 0 0 1]
mry=[cos(beta) 0 sin(beta) 0 ; 0 1 0 0; -sin(beta) 0 cos(beta) 0 ; 0 0 0 1]
mrx=[1 0 0 0; 0 cos(beta) -sin(beta) 0; 0 sin(beta) cos(beta) 0 ; 0 0 0 1]
mtr=[1 0 0 mx; 0 1 0 my; 0 0 1 mz ; 0 0 0 1]
A= mtr*A
B= mtr*B
C= mtr*C
E= mtr*E

n=0

clc

disp(' 1. GIRAR RESPECTO A X ')
disp(' 2. GIRAR RESPECTO A Y ')
disp(' 3. GIRAR RESPECTO A Z ')
disp(' 0. SALIR ')

n=input(' OPCION:');


if n==1
A= mrx*A
B= mrx*B
C= mrx*C
E= mrx*E
end

if n==2
A= mry*A
B= mry*B
C= mry*C
E= mry*E
end

if n==3
A= mrz*A
B= mrz*B
C= mrz*C
E= mrz*E
end


plot3([A(1) B(1)],[A(2) B(2)], [A(3) B(3)],'k')
plot3([A(1) C(1)],[A(2) C(2)], [A(3) C(3)],'k')
plot3([A(1) E(1)],[A(2) E(2)], [A(3) E(3)],'k')


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
Imágen de perfil de Alejandro

Conversión de código a GUIDE para ploteos 3D

Publicado por Alejandro (145 intervenciones) el 05/10/2023 19:12:27
Guía de inicio rápido:

1. Abre GUIDE en Matlab (puedes escribir `guide` en la consola).
2. Crea una nueva GUI.
3. Agrega componentes gráficos según tus necesidades (por ejemplo, botones, cajas de texto, etc.).
4. Abre el Editor de código para el botón principal y pega tu código actualizado dentro de la función asociada al botón.

Es posible que necesites hacer algunas modificaciones en tu código para que se ajuste a la interfaz gráfica. Aquí hay un ejemplo básico que podrías utilizar como punto de partida:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
function miGUI_OpeningFcn(hObject, ~, handles, varargin)
 
handles.output = hObject;
 
% Ajusta el campo de texto para la entrada del usuario
set(handles.editMX, 'String', '0');
set(handles.editMY, 'String', '0');
set(handles.editMZ, 'String', '0');
set(handles.editAngulo, 'String', '0');
 
% Agrega el código para inicializar tus variables aquí si es necesario
 
guidata(hObject, handles);
 
function pushButtonPlot_Callback(hObject, ~, handles)
% Código para el botón Plot
close all;
clc;
 
% Obtiene las entradas del usuario desde la GUI
mx = str2double(get(handles.editMX, 'String'));
my = str2double(get(handles.editMY, 'String'));
mz = str2double(get(handles.editMZ, 'String'));
angulo = str2double(get(handles.editAngulo, 'String'));
 
% Continúa con el resto de tu código...
 
% Reemplaza todas las instancias de "input" con las variables obtenidas de la GUI
% ...
 
% Actualiza las variables en la GUI después de realizar las operaciones
% ...
 
% Vuelve a graficar después de realizar las operaciones
% ...
 
% ...
 
function editMX_Callback(~, ~, ~)
% Se ejecuta cuando el usuario modifica el campo de texto para mx
% Puedes agregar validaciones o acciones adicionales aquí
 
function editMY_Callback(~, ~, ~)
% Se ejecuta cuando el usuario modifica el campo de texto para my
% Puedes agregar validaciones o acciones adicionales aquí
 
function editMZ_Callback(~, ~, ~)
% Se ejecuta cuando el usuario modifica el campo de texto para mz
% Puedes agregar validaciones o acciones adicionales aquí
 
function editAngulo_Callback(~, ~, ~)
% Se ejecuta cuando el usuario modifica el campo de texto para angulo
% Puedes agregar validaciones o acciones adicionales aquí

Recuerda que este es solo un ejemplo básico y que puedes personalizarlo según tus necesidades. También puedes agregar más componentes a la GUI según las interacciones que desees permitir al usuario.
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