在阻抗矩阵填充之后,接下来就是解矩阵方程了。后期在补上公式,先上代码。

注意:方程求得解是  函数的系数。

#pragma once
#include<iostream>
#include<stdio.h>
#include<armadillo>
#include<math.h>
#include<complex>
#include<time.h>
#include<cmath>
#include"FillZmat.h"using namespace arma;
using namespace std;extern double k;
extern mat basis_list;
extern cube element_list;
extern int elem_num;
extern int rwg_num;
extern mat Center;
extern vec Area;extern mat CommonEdgeP;
extern mat CommonEdgeN;
extern vec EdgeLength;  //公共边长度
extern vec Vertex_pos;  // 正三角形的 非公共边点 编号
extern vec Vertex_naga;extern cube Center_;   //九点积分划分后的小三角形重心extern mat Pho_Pos;       //对于正element三角形 非公共边点到重心的向量坐标
extern mat Pho_Naga;      //对于负element三角形 非公共边点到重心的向量坐标
extern cube Pho_Pos_;     //对于正element三角形 九点划分后 非公共边点到 小三角形重心的向量坐标
extern cube Pho_Naga_;    //对于负element三角形 九点划分后 非公共边点到 小三角形重心的向量坐标extern cx_mat Z;
extern rowvec Pol, dz;        //定义入射波的极化方向和入射方向(only for r_s = 1)
extern double FeedVoltage;    //定义馈电电压
extern rowvec FeedEdge;       //定义馈电边的EdgeElement编号rowvec kv(1, 3);
cx_colvec I, V;
double P_rad = 0;void SolveMat() {kv = k * dz;FillmatZ();double ScalarTemp = 0.0;cx_rowvec Einc_Pos(1, 3), Einc_Nega(1, 3); cx_colvec Vv(rwg_num, 1), Ii(rwg_num, 1);complex<double>EPho_Pos(0, 0), EPho_Nega(0, 0);for (int i = 0; i < rwg_num; i++) {ScalarTemp = as_scalar(kv * strans(Center.row(basis_list(i, 0))));Einc_Pos = Pol * exp(complex<double>(0, -ScalarTemp));ScalarTemp = as_scalar(kv * strans(Center.row(basis_list(i, 1))));Einc_Nega = Pol * exp(complex<double>(0, -ScalarTemp));EPho_Pos = as_scalar(Einc_Pos * strans(Pho_Pos.row(i)));EPho_Nega = as_scalar(Einc_Nega * strans(Pho_Naga.row(i)));Vv = EdgeLength(i) * (EPho_Pos / 2.0 + EPho_Nega / 2.0);}printf("\n 正在求解矩阵方程 ... \n");clock_t start = clock();Ii = solve(Z, Vv);          //注意球的的解是 RWG函数 的系数clock_t end = clock();cout << endl << "解方程的时间为:" << (end - start) << "ms" << endl;V = Vv;I = Ii;
}

MoM(五)解矩阵方程相关推荐

  1. python解复杂方程_Python数据处理篇之Sympy系列(五)---解方程

    前言 sympy不仅在符号运算方面强大,在解方程方面也是很强大. 本章节学习对应官网的:Solvers 官方教程 (一)求解多元一次方程-solve() 1.说明: 解多元一次方程可以使用solve( ...

  2. python 解方程 sympy_Python数据处理篇之Sympy系列(五)---解方程

    前言 sympy不仅在符号运算方面强大,在解方程方面也是很强大. 本章节学习对应官网的:Solvers 官方教程 (一)求解多元一次方程-solve() 1.说明: 解多元一次方程可以使用solve( ...

  3. python解二元一次方程_Python数据处理篇之Sympy系列(五)---解方程

    前言 sympy不仅在符号运算方面强大,在解方程方面也是很强大. 本章节学习对应官网的:Solvers 官方教程 https://docs.sympy.org/latest/tutorial/solv ...

  4. 用行最简矩阵求矩阵的逆解矩阵方程

    求逆 A-1 * (A|E) = (E|A-1) 对(A|E)进行初等行变换即可得(E|A-1) 解矩阵方程 A * X = B X=A-1 * B A-1 * (A|B) = (E|X) 对 (A| ...

  5. ython二十五: 解压序列

    通过解压序列,获取可迭代序列的值 直接交换两个变量的值

  6. python解矩阵方程_用Python代写的Numpy求解线性方程组

    在本文中,您将看到如何使用Python的Numpy库解决线性方程组. 什么是线性方程组? 维基百科将线性方程组定义为: 在数学中,线性方程组(或线性系统)是两个或多个涉及同一组变量的线性方程的集合. ...

  7. 用python解矩阵方程_用Python的Numpy求解线性方程组

    原文链接:拓端数据科技 / Welcome to tecdat​tecdat.cn 在本文中,您将看到如何使用Python的Numpy库解决线性方程组. 什么是线性方程组? 维基百科将线性方程组定义为 ...

  8. 用LU分解法来解矩阵方程

    运用的是克劳特(Crout)分解,也就是U是单位上三角形矩阵 import numpy as np #np.set_printoptions(threshold=np.inf)def LU(A, n) ...

  9. 高斯消元法解矩阵方程c语言,c++高斯消元法求解线性方程组

    //高斯消元法求解方程组 #include #include using namespace std; #define MaxNum 10 int array[MaxNum][MaxNum] = { ...

最新文章

  1. python批量爬取小网格区域坐标系_Python爬虫实例_利用百度地图API批量获取城市所有的POI点...
  2. 超好看的B站首页顶部景深动态特效源码
  3. 手把手教用XNA开发winphone7游戏(二)
  4. Cannot forward after response has been committed
  5. 华为云DevCloud为开发者提供高效智能的可信开发环境
  6. Flutter入门进阶之旅(七)GestureDetector
  7. linux ping 某个端口,linux 怎么ping 端口
  8. 银行卡号识别(CTPN、Densenet、CTC)附数据集
  9. iis发布网站无法连接服务器,IIS网站部署常见问题处理
  10. ubuntu设置桌面图标
  11. linux怎么进入dos界面,如何在Linux中运行DOS应用程序
  12. 【2021年度总结】:23岁的流水账
  13. SQL学习笔记(01)_LIKE、IN、通配符
  14. 目标检测之FCOS算法分析
  15. 索尼和微软同时发布新游戏机——抢钱了
  16. December, 14
  17. VR成为下一代计算平台的关键技术:面部追踪
  18. java基础知识之面试题(一)
  19. 程序员鄙视链python_关于程序员之间的鄙视链
  20. Java 文件完整性校验 sha512

热门文章

  1. Consul 基本概念,同类比较和内部原理
  2. 七夕节·烈火英雄·观后感
  3. 洛谷noip 模拟赛 day1 T3
  4. Leetcode Proble 汇总四
  5. 上班族最常用数据图表分析软件有哪些
  6. 老夫我写代码的起手式是怎么样的?
  7. Windows环境下filebeat配置发送日志至Elasticsearch
  8. java ary是什么,填充N-ary树-Java
  9. 429. N-ary Tree Level Order Traversal**
  10. 5款国产ARM芯片(对标stm32f103c8t6)测试评估