端山叶 2021-08-14 21:42 采纳率: 100%
浏览 107
已结题

matlab怎么求AX=B方程组,其中X和B都有未知数,具体方程为上千个方程和等量的未知数

类似A=【1 2 3;4 5 6;7 8 9;】,X=【d1;d2;1;】,B=【1;2;d3】。不要用solve,几千个未知量不现实。

  • 写回答

1条回答 默认 最新

  • joel_1993 2021-08-15 09:54
    关注

    这个很容易的,把矩阵分块就行
    AX = B变成
    A = [A11, A12; A21, A22];
    X = [X1; X2];
    B = [B1; B2];
    按照题主的意思,X1和B2作为未知量,有
    A11 * X1 + A12 * X2 = B1 (1)
    A21 * X1 + A22 * X2 = B2 (2)
    先可以由(1)得到X1:
    X1 = A11 \ ( B1 - A12 * X2);
    然后由(2)求B2
    B2 = A21 * X1 + A22 * X2;

    例子就按题主的来吧,我把A改成正定的!

    
    A = [3,1,1; 0,3,1; 1,1,4];
    A11 = A(1:2, 1:2);
    A12 = A(1:2, 3:end);
    A21 = A(3:end, 1:2);
    A22 = A(3:end, 3:end);
    X2 = [1];
    B1 = [1;2];
    % 要求的未知量
    X1 = A11 \ ( B1 - A12*X2)
    B2 = A21*X1 + A22*X2
    

    最后得到结果为

    X1 =
    
      -0.111111111111111
       0.333333333333333
    
    
    B2 =
    
       4.222222222222222
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
    1人已打赏

报告相同问题?

问题事件

  • 系统已结题 8月23日
  • 已采纳回答 8月15日
  • 创建了问题 8月14日

悬赏问题

  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥15 请问Lammps做复合材料拉伸模拟,应力应变曲线问题
  • ¥30 python代码,帮调试
  • ¥15 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿