Как использовать данные из временного ряда (например) в функции Оде? - PullRequest
0 голосов
/ 20 февраля 2020

Я хочу использовать данные из другого файла mat, который содержит временные ряды, ниже приведен упрощенный пример:

1. tspan = [0 5];
2. y0 = 0;
3. tQ = linspace(0,5,25);
4. Qg = load('GasFlowRate_T.mat', 'Qg');
5.
6. [t y] = ode45(@(t,y) f(t,y,tQ,Qg),tspan,y0);
7. plot(t,y)
8.
9.    function dydt = f(t,y,tQ,Qg)
10.        Qg = interp1(tQ, Qg, t);
11.        dydt = Qg*t;
12.   end

, и я получу ошибку:

Error using interp1>reshapeValuesV (line 439)
Values V must be of type double or single.
Error in interp1>reshapeAndSortXandV (line 419)
[V,orig_size_v] = reshapeValuesV(V);
Error in interp1 (line 93)
    [X,V,orig_size_v] = reshapeAndSortXandV(varargin{1},varargin{2});

, но я также не может преобразовать из структуры в удвоение, как я могу точно использовать данные из временных рядов?

...