Matlab错误'连接矩阵的维数不一致。'

时间:2018-04-22 13:03:57

标签: matlab matrix ode

我知道这个问题在这里出现了很多,我已经阅读了很多线程,但仍然坚持我的具体问题。我使用带有ode函数的质量矩阵同时求解4个方程,2个代数和2个微分:

function ade

% Equation set
% y(1)== radius 1, y(2)== concentration Cc
% y(3)== radius 2  y(4)== concentration Cc2
%==========================================================================
clc
close all

M = [1 0 0 0
     0 0 0 0
     0 0 1 0
     0 0 0 0];

options = odeset('Mass',M);   
y0= [1,1,1,1];
tspan = [0:1:1440];
[t,y]= ode15s(@equations,tspan,y0,options);

function mainequations = equations (t, y)
m = 18;
m2 = 599;
ro = 1000;
ro2 = 1050;
k = 0.085;
k2 = 0.085;
theta = 46/8;
theta2 = 46/8;
De = 7.65*10^-14;
Cb = 0.993;
R = 8.29*10^-7;

alpha = (m*k)/ro;
alpha1 = (m2*k2)/ro2;
beta = (theta*k*y(2))/De;
beta2 = (theta2*k2*y(4))/De;

mainequations = [-alpha*y(2)
                 y(4) - y(2)-(beta * y(1)^2 *(1/y(1) - y(3)))
                 -alpha1*y(4)
                 Cb - y(4) -(beta * y(1)^2 + beta2*(y(3))^2)*(1/y(3) - 1/R)];

我很确定问题出现在底部的方程式中,我猜测一个是错误的大小,但是在调试时所有的y值都是相同的大小,即4x1。有人可以帮忙吗?

由于

0 个答案:

没有答案