t,theta Valueが変化する変数でこのプログラムだと、n番目までの値しか記録されないので、リアルタイムに1つずつ変化する値を記録したい。
リアルタイムで変化する変数を行列に格納したい。
5 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
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
Categories
Find more on ソルバー出力と反復表示 in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!