В этом примере показано, как использовать блок Unwrap, чтобы развернуть массив 3 на 2 на 3, который имеет разрыв.
У каждого 3 2 система координат сигнала есть разрыв. В первой системе координат существует разрыв между вторым и третьим элементом, больше, чем допуск
набора в параметрах блоков. Во второй системе координат разрыв между вторым и третьим элементом меньше
, и в третьей системе координат, разрыв равен
. Поскольку мы ожидаем, что блок перенесет сигналы с разрывами, больше, чем допуск, разворачивая сигнал не влияет на вторую или третью систему координат.
Откройте модель Simulink.
model = "ex_unwrap";
open_system(model);
frame1 = [0 0; 2*(pi)/3 0; -2*(pi)/3 0];
frame2 = [2*pi 0; 8*pi/3 0; 9.5*pi/3 0];
frame3 = [4*pi 0; 13*pi/3 0; 16*pi/3 0];
signal = cat(3,frame1,frame2,frame3)
signal(:,:,1) =
0 0
2.0944 0
-2.0944 0
signal(:,:,2) =
6.2832 0
8.3776 0
9.9484 0
signal(:,:,3) =
12.5664 0
13.6136 0
16.7552 0

Tolerance параметр блока Unwrap устанавливается на
. Блок поэтому разворачивает разрывы, которые больше, чем
.
Запустите модель.
output = sim(model);
Смотрите что выход, output.unwrapped_signal не имеет первого разрыва, но другие два остаются.
output.unwrapped_output
ans =
0 0
2.0944 0
4.1888 0
6.2832 0
8.3776 0
9.9484 0
12.5664 0
13.6136 0
16.7552 0