Не удается назначить массив в matlab

#matlab

#matlab

Вопрос:

Я хочу создать массив сигналов (то есть массив array), основанный на массиве из 2 ячеек: Piste и Data. Программный сигнал () получает номер сигнала, который он должен получить, и какие столбцы он должен суммировать, и он работает сам по себе.

Но когда я запускаю :

 Piste = mainapp.Piste;
[s,~]=size(Data);
app.x=[];
app.y=[];
app.name=[];
app.time=[];
for i=1:s
    [app.x(i),app.y(i),app.name,app.time]=signal(Data{i},Piste);
end
  

я получаю Unable to perform assignment because the indices on the left side are not compatible with the size of the right side.
Я думаю, что проблема связана с app.x (i) и app.y (i), но я не знаю, как это исправить (имя и время всегда одинаковы).

Спасибо за вашу помощь

Комментарии:

1. пожалуйста, запустите следующую строку и посмотрите, какой размер блока вы пытаетесь назначить: size(signal(Data{i},Piste))

2. p=signal(4,{'1'}); size(p) ans = 1 128059

3. Однако сигнал считывает текстовый файл, содержащий данные, поэтому для разных входных данных размер может измениться

4. Поэтому вы можете захотеть использовать массив ячеек, что-то вроде app.y = {}; а затем использовать {} при назначении в y