Why does my data have more than 2 dimensions?
9 ビュー (過去 30 日間)
古いコメントを表示
I used the "Data Logging" tool in Simulink to collect the outputs of a model, but there seems to be a dimensions problem with one of them.
I extracted the values of the different signals using
>>test=logsout.getElement(1).Values.Data;
but when trying to plot it, I get "Error using plot. Data cannot have more than 2 dimensions." While other signals have the format 18001x1 double, this one has the format 1x1x18001 double. When typing the signal name in the command window, the values look like this:
>>test
test(:,:,204) =
4.2991
test(:,:,205) =
4.2156
test(:,:,206) =
4.2530
How can I convert the Signal to a "normal" one (just the values)?
0 件のコメント
採用された回答
その他の回答 (1 件)
dbmn
2017 年 3 月 24 日
There is multiple options to force your 3d data into a vector
Option 1: use dot notation
% gets you a column vector
a(:) = test(1,1,:);
% gets you a row vector
b(:,1) = test(1,1,:);
Option 2: Shape to your likings
c = reshape(test, [numel(test), 1]);
2 件のコメント
参考
カテゴリ
Help Center および File Exchange で Outputs についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!