I am making an app on Matlab app designer which consist on the following as you can see below: A graph panel and a Button, which when clicked, a circle that I have defined in the code is drawn. The issue here is that I have made two different codes that work perfectly in the command window but in app designer only works one, while the other one does not.
One of those both codes I have designed is the following one. Here I define the code of the circle I would like to draw when I click the button
As you can see, It is drawn perfectly
But this is the other code (much more easier to me) that doesn't draw well the circle
This is what it draws:
I would like to know how can I make the second code to draw the circle perfectly. Why doesn't it draw the circle? I don't understand why both of them work perfectly on the command window and thet don't on matlab app.designer.
Thank you very much!

 Respuesta aceptada

Mischa Kim
Mischa Kim el 17 de En. de 2021

0 votos

Hi ErikJon, if the plot input is a matrix (e.g. your circ) "...the plot function plots the columns of the matrix (circ) versus their row number. The x-axis scale ranges from 1 to the number of rows in the matrix." So this is the designed behavior of the plot command for matrices. See the documentation here for plot(Y) for more info.

3 comentarios

Thanks for your reply!
Yes, I checked that page but it doesn't solve the problem. It says that if I have plot(X,Y) and X and Y are both matrix, they have to have the same dimentions. And in my example, they do have the same dimensions. In circ[xp;yp] xp and yp have the same dimensions.
However, I still don't understand why this works on matlab command window
plot(circ);
and this
plot(app.panel, circ);
does not work on matlab app designer
Different behavior between running from the command window and as an app would indeed be confusing. What happens if you run the following from the command window?
clear;
r = 4;
caca = 2*pi;
ang = linspace(0,caca);
xp = r*cos(ang);
yp = r*sin(ang);
circ = [xp;yp];
figure(1)
plot(xp,yp)
figure(2)
plot(circ)
For me this creates the same two plots that you are showing in your question, as it should.
ErikJon Pérez Mardaras
ErikJon Pérez Mardaras el 17 de En. de 2021
Sorry! That's true. My fault
Thanks a lot for your reply!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Develop Apps Using App Designer en Centro de ayuda y File Exchange.

Productos

Versión

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by