• matlab解方程组解析解


    问题描述

    对于一个如下形式的方程组
    { y 1 = f 1 ( x 1 , x 2 , . . . , x n ) y 2 = f 2 ( x 1 , x 2 , . . . , x n ) . . . y m = f m ( x 1 , x 2 , . . . , x n )

    {y1=f1(x1,x2,...,xn)y2=f2(x1,x2,...,xn)...ym=fm(x1,x2,...,xn)" role="presentation">{y1=f1(x1,x2,...,xn)y2=f2(x1,x2,...,xn)...ym=fm(x1,x2,...,xn)
    y1=f1(x1,x2,...,xn)y2=f2(x1,x2,...,xn)...ym=fm(x1,x2,...,xn)
    需要求解其反函数,即
    { x 1 = g 1 ( y 1 , y 2 , . . . , y m ) x 2 = g 2 ( y 1 , y 2 , . . . , y m ) . . . x n = g m ( y 1 , y 2 , . . . , y m )
    {x1=g1(y1,y2,...,ym)x2=g2(y1,y2,...,ym)...xn=gm(y1,y2,...,ym)" role="presentation" style="position: relative;">{x1=g1(y1,y2,...,ym)x2=g2(y1,y2,...,ym)...xn=gm(y1,y2,...,ym)
    x1=g1(y1,y2,...,ym)x2=g2(y1,y2,...,ym)...xn=gm(y1,y2,...,ym)

    matlab求解

    可以通过matlab的slove函数可以实现上述功能

    syms x1 x2 ....  xn, y1 y2 ... ym
    eq1 = y1 == f_1(x_1, x_2, ..., x_n)
    eq2 = y2 == f_2(x_1, x_2, ..., x_n)
    ...
    eqm = ym == f_m(x_1, x_2, ..., x_n)
    [x1_, x2_, ..., xn_] = solve(eq1, eq2, eq3, ..., eqm, x_1, x_2, ..., x_n)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    具体实例

    syms kappa d phi varepsilon_0 varepsilon_a varepsilon_b varepsilon_c
    equ1 = varepsilon_a == kappa*d*cos(-phi) + varepsilon_0;
    equ2 = varepsilon_b == kappa*d*cos(-phi+2/3*pi) + varepsilon_0;
    equ3 = varepsilon_c == kappa*d*cos(-phi+4/3*pi) + varepsilon_0;
    
    result = solve(equ1,equ2,equ3, kappa, phi, varepsilon_0)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
  • 相关阅读:
    JUC-进程和线程
    执行npm的时候报权限问题的解决方案
    03-SDRAM:写操作(突发)
    c++创建对象的几种方式
    竹间智能用认知智能为企业的发展提供助力
    C++函数在重载时如何判断函数签名(function signature)是否相同
    解决npm的 EACCES: permission denied 问题
    python3基础知识复习 -- web开发入门
    JavaScript小试牛刀之猜数字
    双因子认证是什么? 安当加密
  • 原文地址:https://blog.csdn.net/weixin_40918019/article/details/128153730