t,theta Valueが変化する変数でこのプログラムだと、n番目までの値しか記録されないので、リアルタイムに1つずつ変化する値を記録したい。
リアルタイムで変化する変数を行列に格納したい。
12 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
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 Kommentare
交感神経優位なあかべぇ
am 8 Dez. 2022
Bearbeitet: 交感神経優位なあかべぇ
am 8 Dez. 2022
現状はfor文の下記になっていますが、
for t = 1 : n
% 処理
pause(0.5);
end
下記のようにwhile文にすれば解決する(n番目以降の値も記録される)という認識でよいのでしょうか?
t = 1;
while true
% 処理
pause(0.5);
t = t + 1;
end
Antworten (1)
Hernia Baby
am 9 Dez. 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
1 Kommentar
Siehe auch
Kategorien
Mehr zu 標準ファイル形式 finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!