MoM(五)解矩阵方程
在阻抗矩阵填充之后,接下来就是解矩阵方程了。后期在补上公式,先上代码。
注意:方程求得解是 函数的系数。
#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(五)解矩阵方程相关推荐
- python解复杂方程_Python数据处理篇之Sympy系列(五)---解方程
前言 sympy不仅在符号运算方面强大,在解方程方面也是很强大. 本章节学习对应官网的:Solvers 官方教程 (一)求解多元一次方程-solve() 1.说明: 解多元一次方程可以使用solve( ...
- python 解方程 sympy_Python数据处理篇之Sympy系列(五)---解方程
前言 sympy不仅在符号运算方面强大,在解方程方面也是很强大. 本章节学习对应官网的:Solvers 官方教程 (一)求解多元一次方程-solve() 1.说明: 解多元一次方程可以使用solve( ...
- python解二元一次方程_Python数据处理篇之Sympy系列(五)---解方程
前言 sympy不仅在符号运算方面强大,在解方程方面也是很强大. 本章节学习对应官网的:Solvers 官方教程 https://docs.sympy.org/latest/tutorial/solv ...
- 用行最简矩阵求矩阵的逆解矩阵方程
求逆 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| ...
- ython二十五: 解压序列
通过解压序列,获取可迭代序列的值 直接交换两个变量的值
- python解矩阵方程_用Python代写的Numpy求解线性方程组
在本文中,您将看到如何使用Python的Numpy库解决线性方程组. 什么是线性方程组? 维基百科将线性方程组定义为: 在数学中,线性方程组(或线性系统)是两个或多个涉及同一组变量的线性方程的集合. ...
- 用python解矩阵方程_用Python的Numpy求解线性方程组
原文链接:拓端数据科技 / Welcome to tecdattecdat.cn 在本文中,您将看到如何使用Python的Numpy库解决线性方程组. 什么是线性方程组? 维基百科将线性方程组定义为 ...
- 用LU分解法来解矩阵方程
运用的是克劳特(Crout)分解,也就是U是单位上三角形矩阵 import numpy as np #np.set_printoptions(threshold=np.inf)def LU(A, n) ...
- 高斯消元法解矩阵方程c语言,c++高斯消元法求解线性方程组
//高斯消元法求解方程组 #include #include using namespace std; #define MaxNum 10 int array[MaxNum][MaxNum] = { ...
最新文章
- python批量爬取小网格区域坐标系_Python爬虫实例_利用百度地图API批量获取城市所有的POI点...
- 超好看的B站首页顶部景深动态特效源码
- 手把手教用XNA开发winphone7游戏(二)
- Cannot forward after response has been committed
- 华为云DevCloud为开发者提供高效智能的可信开发环境
- Flutter入门进阶之旅(七)GestureDetector
- linux ping 某个端口,linux 怎么ping 端口
- 银行卡号识别(CTPN、Densenet、CTC)附数据集
- iis发布网站无法连接服务器,IIS网站部署常见问题处理
- ubuntu设置桌面图标
- linux怎么进入dos界面,如何在Linux中运行DOS应用程序
- 【2021年度总结】:23岁的流水账
- SQL学习笔记(01)_LIKE、IN、通配符
- 目标检测之FCOS算法分析
- 索尼和微软同时发布新游戏机——抢钱了
- December, 14
- VR成为下一代计算平台的关键技术:面部追踪
- java基础知识之面试题(一)
- 程序员鄙视链python_关于程序员之间的鄙视链
- Java 文件完整性校验 sha512
热门文章
- Consul 基本概念,同类比较和内部原理
- 七夕节·烈火英雄·观后感
- 洛谷noip 模拟赛 day1 T3
- Leetcode Proble 汇总四
- 上班族最常用数据图表分析软件有哪些
- 老夫我写代码的起手式是怎么样的?
- Windows环境下filebeat配置发送日志至Elasticsearch
- java ary是什么,填充N-ary树-Java
- 429. N-ary Tree Level Order Traversal**
- 5款国产ARM芯片(对标stm32f103c8t6)测试评估