【问题标题】:MATLAB integration of 2x2 system2x2系统的MATLAB集成
【发布时间】:2019-04-24 11:47:24
【问题描述】:

我得到了以下矩阵:

我想与 MATLAB 集成。显而易见的解决方案是:

这正是我想要实现的。我为此使用符号计算。 (仅针对一个变量的示例)

syms aiso w w1 w2

用矩阵定义

A = [1/2/aiso 1/2; -1/2/aiso 1/2];

现在我通过

象征性地整合
A = int(A,w);

这给了我结果

A = [ w*1/(2*aiso), w*1/2; -w*1/(2*aiso), w*1/2]

这显然是正确的,但由于我只使用了一个符号变量,这并不完全符合我的需要。我需要上面的解决方案,它在第二张图片上以矢量符号表示,在 MATLAB 中应该如下所示:

A = [ (w1)*1/(2*aiso) + (w2)*1/2; (w1)*1/(2*aiso) - (w2)1/2]

有没有办法在 MATLAB 中做到这一点?

非常感谢,祝您有美好的一天!

【问题讨论】:

  • 您可能希望将w 创建为符号向量w = sym('w', [2,1]) 或整合w.r.t [w1;w2]
  • 感谢您的回复!但这对我不起作用。当我尝试 int(dA,[w1 w2]) 时,MATLAB 将其解释为具有上下边界的积分区间。可能还有其他想法吗?

标签: matlab matrix integration symbolic-math


【解决方案1】:

可以将矩阵dA的各个分量积分得到A

syms aiso w w1 w2
dA = [1/2/aiso 1/2; -1/2/aiso 1/2];
A = [int(dA(1,1),w1)+int(dA(1,2),w2) int(dA(2,1),w1)+int(dA(2,2),w2)]
disp(A)

输出:

[ w2/2 + w1/(2*aiso), w2/2 - w1/(2*aiso)]

它并不优雅,但它确实有效。

【讨论】:

  • 这适用于这种特殊情况。但我计划进入更复杂的条目,例如
  • 谢谢 - 我刚刚尝试过!这对于这种特殊情况非常有效,其中积分等于与向量 w 的简单乘法。但我最终计划转向具有包含依赖项的矩阵,例如 dA(1,1) = w2*w1/aiso 和 dA(1,2) = w1^2*w2/2;例如。所以也许还有另一种更通用的方法。 (?)
  • @WilliamD。目前,我只能这样走出来。一旦我知道更一般的方式,我会更新我的答案。
  • 感谢您的努力!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-06
  • 1970-01-01
  • 2022-01-07
  • 1970-01-01
相关资源
最近更新 更多