Matlab - Problema al sacar resultado en gui de Matlab

   
Vista:

Problema al sacar resultado en gui de Matlab

Publicado por Lucero Andrea (10 intervenciones) el 25/11/2011 02:45:42
Hola como estas, bueno soy nueva en el uso de matlab y pues en la U me dieron un proyecto de Filtros T que deberia programar en matlab, tengo casi todos los materiales para hacer solo q mi unico problema es la programacion en fin resulta que al momento de programar en siguiente codigo en el gui no me muestra la respuesta, estaba suponiendo que es porque el resultado es una matriz, como podria corregir eso??
Este es el codigo donde me falla
function pushbutton6_Callback(hObject, eventdata, handles)
Wc=str2double(get(handles.wc,'string'));
Ws=str2double(get(handles.ws,'string'));
Amax=str2double(get(handles.amax,'string'));
Amin=str2double(get(handles.amin,'string'));
Norder=str2double(get(handles.norder,'string'));
Rs=str2double(get(handles.rs,'string'));
Rl=str2double(get(handles.rl,'string'));
%calculos
Ladder = 1; % 1 for a T ladder and 0 for a  ladder
[L, C, K] = BW_LADDER(Wc, Ws, Amax, Amin, Norder, Rs, RL, Ladder);
inductor=L;
set(handles.inductor,'string',inductor);

si me pudieran dar una idea o pista de donde esta mi falla se los agradeceria mucho
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 JOSE JEREMIAS CABALLERO

Problema al sacar resultado en gui de Matlab

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3433 intervenciones) el 25/11/2011 11:46:44
hola Lucero.
Segun dices eres nuevo usando matlab, por lo tanto trata de resolver tu problema sin utilizar matlab guide, es decir con un m-file simple y cuando todo este ok, lo codificas a nivel guide.
En tu pregunta que hay muchas preguntas. No detallas como son los variables Ws,Wc, Amax,Amin,.....,
tampoco defines como es [L, C, K] = BW_LADDER(Wc, Ws, Amax, Amin, Norder, Rs, RL, Ladder);
, por lo q veo tu tienes en tu guide un edit text o un static text donde deseas imprimir el resultado.
Decifrar lo que quieres hacer en tu programa, a partir de tu informacion que das, es dificil es dificil.
Te puedo dar una informacion, o una sugerencia para salir de paso, pero derepene no va a ser exacta.

Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Profesor de Metodos Numericos con Matlab
PROGRAMADOR EN MATLAB
jjcc94@hotmail.com
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
Imágen de perfil de JOSE JEREMIAS CABALLERO

Problema al sacar resultado en gui de Matlab

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3433 intervenciones) el 25/11/2011 14:47:56
hola Lucero.
Aqui tienes un ejemplo:
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
function varargout = imprimir_vector_guide(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @imprimir_vector_guide_OpeningFcn, ...
                   'gui_OutputFcn',  @imprimir_vector_guide_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end
function imprimir_vector_guide_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
 
function varargout = imprimir_vector_guide_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
 
function leer_matriz_Callback(hObject, eventdata, handles)
v=str2num(get(hObject,'String'));
handles.v=v;
guidata(hObject,handles);
 
function leer_matriz_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),....
    get(0,'defaultUicontrolBackgroundColor'))
    set(hObject,'BackgroundColor','white');
end
 
function imprimir_Matriz_Callback(hObject, eventdata, handles)
v=handles.v;
set(handles.text2,'String',num2str(v));
 
EJECUCION
>> imprimir_vector_guide



Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Profesor de Metodos Numericos con Matlab
PROGRAMADOR EN MATLAB
jjcc94@hotmail.com
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

Problema al sacar resultado en gui de Matlab

Publicado por Lucero Andrea (10 intervenciones) el 26/11/2011 03:27:55
Jose gracias por responder, bueno en si el proyecto tiene q ser en gui, bueno esas variables q estoy usando las saque de un libro llamado Analog Filters using Matlab y en la pagina que estaba el libro tambien se encontraba el toolbox para utilizar las funciones q describe el libro,http://www.es.isy.liu.se/publications/books/Analog_Filters_Using_MATLAB/ ya entendi el funcionamiento del toolbox, pero el problema esta en el gui (estoy usando el libro Manual del Interfaz Grafica de Usuario de Diego Orlando Barragan Guerrero) el problema principal es mostrar las respuestas que quiero que deberia ser los valores de los inductores y capacitores estos se muestran como matrices y no logro mostrar esta respuesta (verifique que las funciones funcionaran antes de ponerlas en el pushbutton) Wc y Ws son frecuencias y Amax y Amin son amplitudes N es el orden del filtro Rs resistencia de fuente y Rl la carga Ladder define el tipo de filtro q quiero diseñar en mi caso pongo 1 por ser filtro T
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
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
function [L, C, K] = BW_LADDER(Wc, Ws, Amax, Amin, N,  Rs, RL, Ladder)
	%
	%	Computes the element values for a doubly resistively 
	%	terminated LC ladder of Butterworth type
	%
	%	Ladder = 1 for a T ladder and 2 for a ¹ ladder
	%	Rs = source resistor and RL = load resistor
	%	K is a vector used by LADDER_2_H that defines the type
	%	of elements in the ladder.
	%
	% 	Toolbox for ANALOG FILTERS USING MATLAB, Springer, 2009
 
	% 	Author: 			Lars Wanhammar, 1983-08-18
	% 	Modified by: 	 	LW 1987-01-19/1987-07-28/2005-11-21/2007-06-26
	%	Copyright:			Divison of Electronics Systems
	%	 					Dept. Electrical Engineering, Linkoping University, Sweden
	% 	Version:			1 
	% 	Known bugs:			 None
	% 	Report bugs to:		larsw@isy.liu.se
	%
 
	Print = 0;	% Set Print = 0 for no printing
	if (Rs == 0 | Rs == inf | RL == 0 | RL == inf)
		H = BW_SINGLY_LADDER(N, Amax, Wc, Rs, RL, Ladder);
	end
	n = 1:N;
	A = sin((n-0.5)*pi/N);
	d = (1 - 4*Rs*RL/(Rs+RL)^2)^(0.5/N);
	B = 1 + d^2 - 2*d*cos(n*pi/N);
	G(1) = 2*A(1)/(1 - d);
	Rnorm = Rs;
	for indx = 2:N
		G(indx) = 4*A(indx)*A(indx-1)/(B(indx-1)*G(indx-1));
	end
	L = zeros(1,N); C = zeros(1,N);
	if mod(N, 2) == 0
		if (Rs > RL & Ladder == 1) | (Rs < RL & Ladder == 2)
			disp(['This case do not exist'])
			return;
		end
	else
		if (Rs > RL & Ladder == 1) | (Rs < RL & Ladder == 2)
			G = fliplr(G);	Rnorm = RL;
		end
	end
	rp0 = Wc*(10^(0.1*Amax)-1)^(-1/(2*N));
	G = G/rp0;
	for indx = 1:2:N-1  % Define the two-ports
		if Ladder == 1	% T Ladder 
			L(indx) = G(indx); C(indx+1) = G(indx+1);
			K(indx) = 2; K(indx+1) = 9;
		else 	% ¹ Ladder 
			C(indx) = G(indx); L(indx+1) = G(indx+1);
			K(indx) = 9; K(indx+1) = 2;
		end
	end
	if mod(N,2) == 1
		if Ladder == 1
			L(N) = G(N); K(N) = 2;
		else
			C(N) = G(N); K(N) = 9;
		end
	end
	L = Rnorm*L; C = C/Rnorm;
	if Print == 1	% Printing
		disp(['Rs = ', num2str(Rs),' ohm'])
		for indx = 1:2:N-1
			if Ladder == 1	% T Ladder 
				disp(['L', num2str(indx),' = ', num2str(L(indx)),' H'])
				disp(['C', num2str(indx+1),' = ', num2str(C(indx+1)), ' F'])
			else 	% ¹ Ladder
				disp(['C', num2str(indx),' = ', num2str(C(indx)), ' F'])
				disp(['L', num2str(indx+1),' = ', num2str(L(indx+1)), ' H'])
			end
		end
		if mod(N,2) == 1
			if Ladder == 1
				disp(['L', num2str(N),' = ', num2str(L(N)),' H'])
			else
				disp(['C', num2str(N),' = ', num2str(C(N)), ' F'])
			end
		end
		disp(['RL = ', num2str(RL),' ohm'])
	end
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
Imágen de perfil de JOSE JEREMIAS CABALLERO

Problema al sacar resultado en gui de Matlab

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3433 intervenciones) el 26/11/2011 12:10:54
Hola Lucia.
A mi ,me hasalido, que el inductor tiene 4 valores.
Cuales son los valores numericos de Wc Ws Amax Amin Norder Rs Rl. Yo lo he probado al azar con valores numericos y me ha salido que el inductor es un vector de 4 componentes.
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
54
55
56
57
58
59
60
function varargout = filtros_analogicos1(varargin)
% Jose gracias por responder, bueno en si el proyecto tiene q ser en gui,
% bueno esas variables q estoy usando las saque de un libro llamado Analog
% Filters using Matlab y en la pagina que estaba el libro tambien se 
% encontraba el toolbox para utilizar las funciones q describe el libro,
% http://www.es.isy.liu.se/publications/books/Analog_Filters_Using_MATLAB/
% ya entendi el funcionamiento del toolbox, pero el problema esta en el gui
% (estoy usando el libro Manual del Interfaz Grafica de Usuario de Diego
% Orlando Barragan Guerrero) el problema principal es mostrar las respuestas
% que quiero que deberia ser los valores de los inductores y capacitores
% estos se muestran como matrices y no logro mostrar esta respuesta
% (verifique que las funciones funcionaran antes de ponerlas en el pushbutton)
% Wc y Ws son frecuencias y Amax y Amin son amplitudes N es el orden del
% filtro Rs resistencia de fuente y Rl la carga Ladder define el tipo de 
% filtro q quiero diseñar en mi caso pongo 1 por ser filtro T
 
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @filtros_analogicos1_OpeningFcn, ...
                   'gui_OutputFcn',  @filtros_analogicos1_OutputFcn, ...
                   'gui_LayoutFcn',  [] , ...
                   'gui_Callback',   []);
if nargin && ischar(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end
 
if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end
 
function filtros_analogicos1_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
 
function varargout = filtros_analogicos1_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
 
function wc_Callback(hObject, eventdata, handles)
function ws_Callback(hObject, eventdata, handles)
function amax_Callback(hObject, eventdata, handles)
function amin_Callback(hObject, eventdata, handles)
function norder_Callback(hObject, eventdata, handles)
function rs_Callback(hObject, eventdata, handles)
function rl_Callback(hObject, eventdata, handles)
 
function calcular_Callback(hObject, eventdata, handles)
Wc=str2double(get(handles.wc,'string'));
Ws=str2double(get(handles.ws,'string'));
Amax=str2double(get(handles.amax,'string'));
Amin=str2double(get(handles.amin,'string'));
Norder=str2double(get(handles.norder,'string'));
Rs=str2double(get(handles.rs,'string'));
RL=str2double(get(handles.rl,'string'));
Ladder=1; % 1 for a T ladder and 0 for a  ladder
[L,C,K]=BW_LADDER(Wc, Ws, Amax, Amin, Norder, Rs, RL, Ladder);
inductor=L;
set(handles.inductor,'string',num2str(inductor));



Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Profesor de Metodos Numericos con Matlab
PROGRAMADOR EN MATLAB
jjcc94@hotmail.com
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
Imágen de perfil de JOSE JEREMIAS CABALLERO

Problema al sacar resultado en gui de Matlab

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3433 intervenciones) el 26/11/2011 12:16:28
Hola Lucero,
disculpa por llamarte Lucia, me confudi de persona.
Hay tantas personas en el foro, q uno se confunde cuando contesta las preguntas de Matlab.
Si hay dudas vuelves a escribir.
Si el codigo de arriba no te sale en matlab, entonces si deseas me escribes a mi correo, para darte el codigo, lo te acabo copiar al foro.

Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Profesor de Metodos Numericos con Matlab
PROGRAMADOR EN MATLAB
jjcc94@hotmail.com
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

Problema al sacar resultado en gui de Matlab

Publicado por Lucero Andrea (10 intervenciones) el 26/11/2011 22:50:56
Ya vi el código me funciona a la perfección muchas gracias por la ayuda, ya me fije donde estaba mi error, te agradezco mucho, al parecer tenia q ver con el num2str, cualquier otra duda te lo hare saber mediante tu correo, nuevamente muchas gracias de verdad
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
Imágen de perfil de JOSE JEREMIAS CABALLERO

Problema al sacar resultado en gui de Matlab

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3433 intervenciones) el 27/11/2011 03:12:18
Hola Lucero.
entonces tu problema resuelto.

Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Profesor de Metodos Numericos con Matlab
PROGRAMADOR EN MATLAB
jjcc94@hotmail.com
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

Problema al sacar resultado en gui de Matlab

Publicado por nelson villalta nvillalta@sandiego.con.gt (1 intervención) el 26/01/2013 04:52:49
una planta de lirio acuatico crece de tal modo que cada dia duplica su tamaño.
A los 20 dias de vida,cubre completamente un estanque . ¿ en que dia cubrio la mitad del estanque?
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
Imágen de perfil de JOSE JEREMIAS CABALLERO

Problema al sacar resultado en gui de Matlab

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3433 intervenciones) el 26/01/2013 14:12:12
Hay varios puntos en tu pregunta.
1. Resolver analíticamente problema, sin usar matlab; eso te va a dar una mayor visión de como lo vas a hacer en matlab
2. Saber bucles (ciclos iterativos)
3. Tienes que saber MATLAB INTERFACE BASICO, para hacerlo en guide.


Por lo menos deberías poner la solución analítica de tu problema al foro.
Además es un problema netamente de academias, esos problemas que sirven para ingresar a la universidades. Po lo que veo es la suma de una progresión geométrica de razón 2. algo así:
S=x+x+2x+2^2x+2^3x+ ..... + 2^17


Saludos.
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
programador en matlab
Servicios de programación matlab
jjcc94@hotmail.com

http://matlabcaballero.blogspot.com
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

Problema al sacar resultado en gui de Matlab

Publicado por julio (1 intervención) el 02/05/2014 01:12:51
hola tengo un problema con matlab y es que cuando ejecuto un archivo en guide no me muestra el contenido y menos los resultados, solo me muestra la pantalla en blanco sin su boton ni nada de nada vacia.
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
Imágen de perfil de JOSE JEREMIAS CABALLERO

Problema al sacar resultado en gui de Matlab

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3433 intervenciones) el 25/12/2015 20:06:42
hola Julio

Al hacer tu pregunta brindas tan poca información que es imposible decirte donde esta el error. Deberías subir tu código y de esa
manera habría mayor posibilidad de ayudarte. Por lo general cuando una persona hace preguntas y brinda muy poca información se queda sin respuestas y eso ha sucedido contigo, que nadie pudo responderte por la poca información que brindas.



Saludos .
JOSE JEREMÍAS CABALLERO
Asesoría online en Matlab
jjcc94@hotmail.com
Estimado Usuario, el correo es para servicios de cursos, asesoría y programación en Matlab.
Toda ayuda gratuita es vía foro.


http://matlabcaballero.blogspot.com
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