Hi fellow experts,
I'm trying to design a matlab GUI where the user can key in the desired value in the display box which will display the output of the Arduino in graph. eg. if i key in 3 on the display box, the graph will show the output of the Arduino in 180 seconds. I am currently stuck at this stage as the For loops at b=2 would keep overlapping with b=1.
a=arduino
b = get(handles.edit1, 'String')
for b=1;
for d=1:60
temp(d)= readVoltage(a,'A15');
plot(temp);hold on;
pause(0.2);
end
end
for b=2;
for i=1:120
temp(i)= readVoltage(a,'A15');
plot(temp);hold on;
pause(0.2);
end
end
etc.
Any form of help would be greatly appreciated!!
Thanks
Jacob

Réponses (1)

dpb
dpb le 17 Mar 2018
Modifié(e) : dpb le 18 Mar 2018
b = get(handles.edit1, 'String')
N=int(str2num(b)*60);
temp=zeros(N,1);
for d=1:N
temp(d)= readVoltage(a,'A15');
plot(temp);hold on;
pause(0.2);
end

2 commentaires

Chong Kai Xiang
Chong Kai Xiang le 18 Mar 2018
Hi
i tried with your solution and it came out as
Undefined operator '*' for input arguments of type 'cell'.
Image Analyst
Image Analyst le 18 Mar 2018
Modifié(e) : Image Analyst le 18 Mar 2018
b is a cell array because it's more than 1 line. So after you get b, try
b = b{1};
or
b = char(b);
If you really want for loops to run simultaneously, you'd need the Parallel Processing Toolbox and use the parfor command instead of the for command.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by