How to create symbol function matrix in matlab?

2 ビュー (過去 30 日間)
Chuangchuang Sun
Chuangchuang Sun 2014 年 12 月 8 日
コメント済み: Andrew Newell 2014 年 12 月 8 日
I need to solve a linear differential equations, such as diff(Y) = AY, Y(0) = Y0. Y \in R^n; So I need to generate a column of symbol function. I used the following code
clc;clear;
n = 7;
syms t V;
A = sym('A', [n 1]);
U = symfun(A,[t]);
However, as the result shows, the size of U is 1 by 1. I don't know what is wrong and how I can make it work.
I will appreciate your help a lot. Best,

採用された回答

Star Strider
Star Strider 2014 年 12 月 8 日
The solution to your differential equation (assuming a constant ‘A’) is:
Y = expm(A*t)
You will likely have significant problems with it in the Symbolic Math Toolbox. I would deal with it only numerically.
  1 件のコメント
Andrew Newell
Andrew Newell 2014 年 12 月 8 日
Not quite - the correct answer is
Y = expm(A*t)*Y0

サインインしてコメントする。

その他の回答 (1 件)

Andrew Newell
Andrew Newell 2014 年 12 月 8 日
To get an n x n matrix, use
A = sym('A',n);
  1 件のコメント
Chuangchuang Sun
Chuangchuang Sun 2014 年 12 月 8 日
I change the way to generate A but the resulting U is still shown to be 1 by 1. It seems it doesn't make a difference. Thanks!

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeSymbolic Math Toolbox についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by