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

답변 (1개)

dpb
dpb 2018년 3월 17일
편집: dpb 2018년 3월 18일

0 개 추천

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

Chong Kai Xiang
Chong Kai Xiang 2018년 3월 18일
Hi
i tried with your solution and it came out as
Undefined operator '*' for input arguments of type 'cell'.
Image Analyst
Image Analyst 2018년 3월 18일
편집: Image Analyst 2018년 3월 18일
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.

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터 및 File Exchange에서 Loops and Conditional Statements에 대해 자세히 알아보기

태그

질문:

2018년 3월 17일

편집:

2018년 3월 18일

Community Treasure Hunt

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

Start Hunting!

Translated by