リアルタイムで変化する変数を行列に格納したい。
7 views (last 30 days)
Show older comments
for t1 = 1 : n
t = t1 - t0; %時刻
theta = a * sin(omega * t); %角度θ
value = ((4095.0/(2.0*pi))*theta)+2048; %指令値
Value = round(value); %指令値valueを切り捨てたValue
str1 = sprintf("%d",Value); %数値を文字列に
writeline(s,str1);
writeline(s,"R");
m=0.5;
pause(m)
P=[t;theta;Value];
end
3 Comments
交感神経優位なあかべぇ
on 8 Dec 2022
Edited: 交感神経優位なあかべぇ
on 8 Dec 2022
現状はfor文の下記になっていますが、
for t = 1 : n
% 処理
pause(0.5);
end
下記のようにwhile文にすれば解決する(n番目以降の値も記録される)という認識でよいのでしょうか?
t = 1;
while true
% 処理
pause(0.5);
t = t + 1;
end
Answers (1)
Hernia Baby
on 9 Dec 2022
リアルタイムで格納が曖昧ですが、Pに1行ずつデータを付け足すプログラムを作りました。
clc,clear;
m = 0.5;
P = [];
n = 10;
t0 = 0;
a = 1;
omega = deg2rad(30);
for t1 = 1 : n
t = t1 - t0; %時刻
theta = a * sin(omega * t); %角度θ
value = ((4095.0/(2.0*pi))*theta)+2048; %指令値
Value = round(value); %指令値valueを切り捨てたValue
%% ここは置いときます
% str1 = sprintf("%d",Value); %数値を文字列に
% writeline(s,str1);
% writeline(s,"R");
%% ここで結果をコマンドウィンドウで確認できます
% fprintf('value = %i\n',value);
pause(m)
P=[P; t,theta,Value];
end
結果を見てみましょう
P
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!