# How to continuously real-time plotting graph from arduino to matlab (10k Variable Resistor)

92 views (last 30 days)
Charles Lim on 13 Aug 2013
Hello and good day to all the experts and visitors of Mat-Lab, I am a mechatronic student and now facing problem trying to interface matlab and arduino..
I am trying to real-time plotting graph from arduino to matlab with (10k variable resistor), but the graph will stop plotting after reach the Maximun X-axis (I set 0-1000).
Can it continuously real-time plotting the graph non stop? full of appreciation or teaching me to solve it.
the code is shown below:
a = arduino('COM3');
interv = 1000;
passo = 1;
t=1;
x=0;
while(t<interv)
x=[x,b];
plot(x);
axis([0,interv,0,1024]);
grid
t=t+passo;
drawnow;
end

#### 1 Comment

Kerone Naidoo on 8 Mar 2017
Hi,
just dont bound the axis, remove the bounds on the axis and that should allow it to continually plot the voltage.

David Sanchez on 13 Aug 2013
You just have to change the axis when the highest value is reached:

#### 1 Comment

Charles Lim on 16 Aug 2013
Very Thank you for replied
I set interv = 1000
after I change this code
the x-axis started from 1000 to 2000
how do I start from 0 - 1000 after the highest value is reached auto start from 1000 - 2000 , continuously non stop ?

anand on 22 Dec 2016
just make use of while(1) after a = arduino and at the last make use of a end function this solves your problem

Sanjay Raam on 9 Feb 2014
Edited: Sanjay Raam on 9 Feb 2014
you need not set axis between 0to1024
axes auto;
by the way, thanks for your program... it was useful for me to learn!!

khoulod ghanem on 28 Sep 2015
I am trying to plot current-voltage curve from Arduino to Matlab , can you help me to start ??

ravi kumar on 2 Feb 2017
This did not work for me. I tried this one: Real Time Analog Voltage in Matlab using Arduino it uses line function. anybody knows how to scroll the time line?

#### 1 Comment

prasad noolu on 17 Aug 2017
try this code: clear all
a = arduino
x = 0;
for k = 1:1000
x = [x, b];
plot (x);
grid;
drawnow;
end