查看: 3417|回复: 1|关注: 0

[已答复] 关于定义方程变量数目的问题

[复制链接]

新手

12 麦片

财富积分


050


4

主题

9

帖子

0

最佳答案
发表于 2015-12-17 23:14:49 | 显示全部楼层 |阅读模式
吴老师,最近遇到一个问题,在定义方程的时候,变量为t和y,方程的形式为dy/dt=A*y+B,其中,A是n*n的矩阵,变量y中包含的变量数为n,由系数矩阵A的大小决定。我的问题是,如何在方程定义中根据A的大小定义方变量y。
回复主题 已获打赏: 0 积分

举报

书籍作者

364 麦片

财富积分



12

主题

974

帖子

75

最佳答案
  • 关注者: 65
发表于 2016-1-5 16:59:15 | 显示全部楼层
你好,可以采用nested function来传入A,B.举个栗子:

  1. function solveDemo(A,B)
  2. function dy = myOdeFun(t,y)
  3. dy = A*y+B;
  4. end
  5. n = size(A);
  6. y0 = rand(1,n(1));%初值
  7. options = odeset('RelTol',1e-4,'AbsTol',1e-4*ones(1,n(1)));
  8. [T,Y] = ode45(@myOdeFun,[t1 t2],y0,options);
  9. end
复制代码

大概就是上面的样子吧,实际数值你可以根据具体情况进行修改。
回复此楼 已获打赏: 0 积分

举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

快速回复 返回顶部 返回列表