0
我正試圖解決在MATLAB中耦合ODE的系統n
。代碼:在MATLAB中使用ode45的ODE系統使用匿名函數的錯誤
clear all
n = 21;
dx = 1./(n-1);
x = [0:dx:1];
u0 = sin(0.5*n*pi*x);
f1 = @(t,u) [0, u(1:n-2)-2*u(2:n-1)-u(3:n), 2*(u(n-1)-u(n))]'/dx^2;
% f1 = @(t,u) [0; u(1:n-2)'-2*u(2:n-1)'-u(3:n)'; 2*(u(n-1)-u(n))]/dx^2;
[t,U] = ode45(f1, [0,2.5], u0');
給出了錯誤:
Dimensions of matrices being concatenated are not consistent.
Error in t1>@(t,u)[0,u(1:n-2)-2*u(2:n-1)-u(3:n),2*(u(n-1)-u(n))]'/dx^2
我從匿名函數的兩種形式(一個註釋掉)收到錯誤消息u
是一列向量,因爲它是在功能通過ode45
調用。
謝謝。這解決了問題。 – user1031565