Matlab - Error al graficar una ecuacion

   
Vista:

Error al graficar una ecuacion

Publicado por Bryan b.sgomez90@gmail.com (3 intervenciones) el 22/02/2015 17:30:40
Bueno, muchas gracias por leer de antemano.

Primero que todo estoy trabajando en la guide. Comentare que estoy intentando graficar unas ecuaciones, sin embargo la primera ya me dio problema (vaya vida :s).

Esta es la funcion a graficar:
U=(-a./r)+(b./r.^2);
%De esta funcion variare a y b, para comparar distintas graficas entonces sera plot (r,U)

Use una interfaz grafica:
a=get(handles.edit1,'String')
b=get(handles.edit2,'String')
r=[0:1:1000];

U=(-a./r)+(b./r.^2);

plot(r,U)

Asi queda el codigo, sin embargo al ejecutarlo todo va bien con valores de a y b que van en este rango: [1:1:9] (no me corre con decimales) sin embargo al poner numeros con decimales, o numeros que excedan ese rango (como numeros negativos, o numeros muy grandes), el programa arroja este error:


Error using ./
Matrix dimensions must agree.

Error in expo>pushbutton1_Callback (line 41)
U=(-a./r)+(b./r.^2);

Error in gui_mainfcn (line 96)
feval(varargin{:});

Error in expo (line 17)
gui_mainfcn(gui_State, varargin{:});

Lo cual no entiendo. Si por el contrario quito a y b, y los dejo como valores fijos "-200 y 100" por ejemplo. El programa corre sin problemas. Alguien podria decirse en que esta fallando la interfaz?
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 Daniel

Error al graficar una ecuacion

Publicado por Daniel (212 intervenciones) el 23/02/2015 17:45:33
por lo que veo los datos a y b que lees son Strings deberias convertir de texto a número

1
2
a=str2num(a);
b=str2num(b);


luego de cada get(handles.edit1,'String');

Avisame si esto resolvió el problema

Saludos

Daniel
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

Error al graficar una ecuacion

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3432 intervenciones) el 24/02/2015 15:39:04
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
unction varargout = graficar_r(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @graficar_r_OpeningFcn, ...
                   'gui_OutputFcn',  @graficar_r_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 graficar_r_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
 
function varargout = graficar_r_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
 
function edit1_Callback(hObject, eventdata, handles)
function edit2_Callback(hObject, eventdata, handles)
 
function pushbutton1_Callback(hObject, eventdata, handles)
a=str2num(get(handles.edit1,'String'));
 b=str2num(get(handles.edit2,'String'));
 if length(a)==length(b)
    r=[1:1:length(a)];
    U=(-a./r)+(b./r.^2);
    plot(r,U)
 else
     disp('dimensiones de a  y b distintos');
 end




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


http://matlabcaballero.blogspot.com

http://www.lawebdelprogramador.com/foros/Matlab/1371532-FORMA_DE_APRENDER_MATLAB.html
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

Error al graficar una ecuacion

Publicado por Bryan (3 intervenciones) el 25/02/2015 03:48:59
Muchisimas gracias, lo que ambos colocaron soluciono el problema, realmente aun no soy experto en matlab pero busco mejorar mis conocimientos >.< Joder, en serio no se como mas agradecerles, muchas gracias <3 de todo corazon.
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