How to concatenate an array?

1 回表示 (過去 30 日間)
Luis Ricardo Rivera Goitia
Luis Ricardo Rivera Goitia 2023 年 3 月 29 日
I have an array that is receiving data from the cloud, and I'm loosing the initial data while the array continue receiving the data.
How can I concatenate the data to keep the initial data in the array while continue receiving new data?
Here's the code and the array as a reference.
while true
dataTT = (read(MQTTSignal));
str = dataTT.Data;
str = strrep(str, '{', ''); % remove opening bracket
str = strrep(str, '}', ''); % remove closing bracket
str = split(str,",");
current = str2double(str(:,1));
speed = str2double(str(:,2));
time = str2double(str(:,3));
subplot(2,1,1);
plot(time,current);
ylim([0,150]);
grid ON
title("Current");
subplot(2,1,2);
plot(time,speed);
ylim([0,1000]);
grid ON
title("Speed");
drawnow
pause(3)
end

採用された回答

Matt J
Matt J 2023 年 3 月 29 日
dataTT=[];
while true
dataTT = [dataTT, read(MQTTSignal)];
str = dataTT(end).Data;
...
end
  7 件のコメント
Matt J
Matt J 2023 年 3 月 31 日
dataTT = [dataTT, table2struct( read(MQTTSignal) ,"ToScalar",1 )];
Luis Ricardo Rivera Goitia
Luis Ricardo Rivera Goitia 2023 年 4 月 10 日
Apparently it worked, the only thing is that dataTT is now divided in two, and one of this two is cumulating the data in segments, I think that would help me to avoid loosing the previous information, thx.
Here's an image about its behavior:
As you can see Data column is storing the dataTT received from MQTT in segments.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeData Type Conversion についてさらに検索

製品


リリース

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by