自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 资源 (4)
  • 收藏
  • 关注

原创 Java项目学习4

【代码】Java项目学习4

2023-02-02 21:31:10 160

原创 Java项目学习3

element+vue+java 项目学习记录

2023-01-28 20:50:06 171 1

原创 高斯积分测试

代码仅用于自己测试Common.h/********** Common.h **********/#include <iostream>#include <armadillo>#include<vector>using namespace std;using namespace arma;typedef double real;// X = a - binline arma::vec3 SubEq(const arma::vec3&a

2021-08-03 20:33:47 390 1

原创 对于链表,虚拟节点真是个好东西

序:不论是自定义创建一个链表,还是对这个链表做操作,虚拟节点绝对是一个好东西。比如创建一个自定义的单链表class MyLinkedList{public: int _size = 0; LinkNode _dummyHead; MyLinkedList(){ int _size = 0; _dummyHead = LinkNode(); } ~MyLinkedList(){ LinkNode *cur.

2021-06-08 23:27:08 522 3

原创 链表

一、链表的类型什么是链表,链表是一种通过指针串联在一起的线性结构,每一个节点是由两部分组成,一个是数据域,一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向NULL。1、单链表链表的入口点称为链表的头节点,也就是head。如图所示:2、双向链表单链表中的节点只能指向节点的下一个节点。双链表:每一个节点有两个指针域,一个指向下一个节点,一个指向上一个节点。双链表 既可以向前查询也可以向后查询3、循环链表循环链表,顾名思义,就是链表首尾相连。.

2021-03-04 15:55:49 3437 2

原创 VsCode C++环境配置、VsCode + cmake 多目录文件编译、调试

0、准备工作 下载 VsCode 链接:https://code.visualstudio.com/ 下载 g++ 链接:https://pan.baidu.com/s/1b7FPbnDzVLuuKMm1dWVhaA 提取码:p978 下载CMake 链接:https://pan.baidu.com/s/1JDTR0GHvBpBJ_AoH0qP-ow 提取码:k4zr 一、C++环境配置...

2020-11-21 17:43:52 3650 5

原创 git rebase

概述你要知道的第一件事是,git rebase和git merge做的事其实是一样的。它们都被设计来将一个分支的更改并入另一个分支,只不过方式有些不同。想象一下,你刚创建了一个专门的分支开发新功能,然后团队中另一个成员在 master 分支上添加了新的提交。这就会造成提交历史被 fork 一份,用 Git 来协作的开发者应该都很清楚。现在,如果 master 中新的提交和你的工作是相关的。为了将新的提交并入你的分支,你有两个选择:merge 或 rebase。Merge将 m...

2020-10-10 11:16:51 451

原创 bitset 函数

bitset功能:将对象转换成二进制保存 所需头文件: bitset<8> bitset1; //无参构造,长度为8,默认每一位为0 bitset<8> bitset2(10); //长度为8,二进制保存,前面用0补充 string str("110101"); bitset<16> bitset3(str); //长度为16,二进制保存,前面用0补充 char c[] = "110101"; bitset<16>.

2020-09-27 16:29:38 3317 1

原创 BLAS 1级例程 (矢量操作)

Inter MKL数学内核库,BLAS 1级例程 介绍 ......

2020-07-26 17:22:51 1448

原创 Inter MKL数学内核库_总览

MKL数学内核库:BLAS、稀疏BLAS、稀疏QR ......

2020-07-26 14:50:59 1190

原创 BP算法程序练习(doing)

机器学习中的BP算法C++实现

2020-06-14 17:58:54 806

原创 BP算法详解(笔记)

1、前向传播 最上面的一行 +1 为偏置量;第层的就是 层的example: 取中间两个隐藏层,即第二层和第三层 第层的第个神经元对第层的第个神经元的权重 (下标0时为偏置量对神经元的权重) 2、反向传播 第层中的第个神经元的激活项的误差 第层中的第个神经元的“输入加权求和项” 反向传播算法其实就是算,其实是代价函数对的偏导。通过影响神经网络各层的权重进而影响输出。exa...

2020-05-26 23:00:14 1361 1

原创 神经网络的多元分类、代价函数

目录一、多元分类二、代价函数一、多元分类在神经网络中实现多类别分类,采用的方法是一对多的的扩展。举个例子:计算机视觉的例子现在不仅仅是要识别汽车,还需要识别四个类别的对象,通过图像来辨别出哪些是行人、汽车、摩托车、火车。所以需要建立一个具有四个输出单元的神经网络,如下:用第一个输出单元来判断图中是否有行人,第二个输出单元来判断是否有汽车,第三个输出单元来判断是否有摩托车,第四个输出单元来判断是否有货车。之前,在前面的博客中简绍的一对多分类中,是将输出标签定义为,...

2020-05-23 21:45:55 1688

原创 机器学习中的神经网络初认识

(回顾一下我们初中学习过的生物课中神经元)。1、单个神经元:特征输入向量,其中是偏置项; :有的地方写成,权重向量; 黄色圈圈:神经元,也叫做激活函数。 :输出2、激活函数常用的非线性激活函数有sigmoid、tanh、relu等等。简要介绍下最基础的sigmoid函数(该函数我们在逻辑回归中用到过):形式为:图形为:从图形上可以直观的看出来,sigmoid函数的功能是相当于把一个数压缩至0到1之间。当z是非常大的正数时,g(z)会趋近于1,而z是非常小的负数时...

2020-05-21 22:47:50 793

原创 正则化、线性回归、逻辑回归

还是以前的那个房价预测的例子,左图是拟合的比较好的,右图显然过拟合了。是我们的优化目标,要最小化这个均方误差代价函数。现在对它进行一些修改,加上了,其中1000只是随便选的一个比较大的数。现在要使这个修改后的函数尽可能小的方法只有一个,那就是要尽可能的小,因为它们的系数1000有点大,这样就导致这个函数的值变得很大。当时,相当于这两项去掉了,结果目标哈函数就是一个二次函数加上一个很...

2020-05-19 22:29:38 842

原创 机器学习:多分类问题

之前已近了解了二分类问题。这比较好理解,即一个样本的标签不是0就是1。问题:对于多分类的情况该怎么办?例:分辨图形如上图,规定: 正方形为1,三角形为2,叉叉为3。这显然是一个一对多的分类问题。其结果输出有 y=1,y=2,y=3。思路:将问题转化为求多个 二分类的问题(不是0就是1)。如右边的上方第一个图,这是拟合的第一个分类器。在这个分类器中,三角形是正样本,圆形为负...

2020-04-13 11:58:09 1861

原创 mesh导入(二)

如图,一个模型由多个介质和金属构成,在导入 mesh信息时,还需要知道mesh 后的每个 element 在哪个介质层,是哪个金属成分。所以对上次代码做出完善。同时,还添加了一种新的 mesh 文件类型 ,即 list 文件。其内容与nas差不多,只不过,list 文件它是按照层对 element 进行单独编号,在导入过程中需要将它们整合到一起。还与 nas文件不同的是,对于 elemen...

2020-04-08 21:26:42 1002

原创 导入mesh 信息

一、读取mesh文件(NAS文件)1、.NAS文件介绍:1.1先是一些基本信息,开头是时间之类的,在是 mesh 剖分后线段、三角形、长方形、四面体的数量。1.2这部分就是三角形节点的坐标信息。1.3第二列是 三角形(element)的编号,后三列是组成三角形的三个节点。2、导入mesh文件导入mesh文件信息,如 feko mesh的nas...

2020-04-06 12:21:56 1702 1

原创 逻辑回归的梯度下降

对于假设函数:0、分类就是字面的意思,对某个事物进行分类,好的还是坏的,yes或者no,等等。一般实现时使用1或者0。也就是说得出的结果是两个离散值0,1,即。线性回归应用在分类问题中的局限性:当输出在(0,1)之间时,我们会得到一个期望的值,但是如果输出在1之外的话,线性回归可能得到一个很差的结果。所以需要引进一个函数:Logistic函数 logistic函...

2020-04-03 11:00:36 3769

原创 作业:赋形天线

这学期选修了一门天线的课程,由于老师布置了作业,要求我们看一篇文章做一个天线、或者读一个章节的书向老师汇报以下。由于我想试着做一个出来,所以选择了用HFSS做个天线模型。最终,在搜集文章的时候,我选择了一篇硕博论文 《《余割平方赋形波束阵列天线的研究》》,作者:张运启。由于之前有简单的了解过 HFSS,所以就直接开始建模了。。。现做出记录:一、天线单元1、天线单元数据该文章...

2020-04-02 09:55:43 923

原创 特征缩放

特征缩放的目的是为了代价函数收敛的更快一、序现在假设房价受到房子面积以及房子的房间数影响,即假设函数,其中分别表示面积和房间数,是另外定的一个特征值,恒等于1。现在 x1 的范围在(0,2000),x2属于(1,5)。在用梯度下降的时候,类似于左边的等值线图,会下降的很慢。如果采用右图的做法,即特征缩放的方法,对特征值进行归一化处理,最终使特征值 x1,x2都在(0,1)之...

2020-03-29 12:18:05 229 1

原创 线性回归的梯度下降

线性回归的梯度下降:其实就是将梯度下降算法和代价函数相结合。上图左边的蓝色框里的就是梯度下降法公式,右边的分别是线性回归模型以及平方误差代价函数。目的就是利用梯度下降的方法来最小化平方误差代价函数。 需要知道,最重要的是梯度下降法的导数部分,在梯度下降法公式与代价函数结合后的导数部分形式如下:要留意的是,求导时系数分母有个2被约掉了。现在代价函数对于的偏导已知,将他们...

2020-03-27 21:47:16 1075

原创 梯度下降

一、梯度下降法公式: 称为学习率,也可以称为步长,它控制我们以多大的幅度更新这个参数。就是我们的代价函数。是我们最终要确定的权重系数,通过这种梯度下降的方式来一步一步的逼近我们想要的结果。需要注意的是这些系数要同步更新。即:二、几何意义1:导数项导数的几何意义,我们就会联想到斜率,或者直线在某一点的切线。控制方向如图,我们知道,导数...

2020-03-25 14:43:46 461

原创 Machine Learing(二)

一、线性回归还是房价的例子。训练样本数据集 (m个样本)回归就是我们预测一个具体的数值输出,也就是价格。线性回归就是找一个一次函数来拟合训练数据集,如图。这里预测y是关于x的线性函数::我们可以看到这里有我们的训练集(Training Set),我们把它提供我们的学习算法(Learning Algorithm)进行训练,然后算法通过训练输出一个函数h...

2020-03-23 17:44:27 186

原创 Supervised learning and Unsupervised learning

一、Supervised learning (监督学习)1、regression problem(回归问题)监督学习是指,我们给算法一个数据集,其中包括正确答案(你想要的正确结果)。比如给定房价数据集,对于里面每个房子的占地面积,我们都给出对应的正确房价(即该房子卖出的价格),算法的目的就是给出更多的正确答案。这里的回归问题是:我们想要预测连续的数值输出,也就是价格。在这里,我们称 房...

2020-03-23 15:39:53 563

原创 MOM 理论总述

一、原理:矩量法的求解过程主要包括以下四个部分:区域的离散; 基函数和权函数的选择; 阻抗元素的求解; 方程组的求解。现有线性算子方程如下: 其中,为线性算子,是已知函数(如激励源),为未知函数(如电流)。1、离散化过程这一过程的主要目的在于将算子方程化为代数方程,其具体步骤如下:<1>...

2020-03-22 13:55:28 2994 6

原创 小小想法

和同学一起在想一个优化算法的应用,期间有些想法就想记一下。假设有一个工程需要以下步骤:读文件 数据处理、 do something 再次读文件、数据处理、写文件 结束,退出整个工程有四步,其中第二步是重点,第三步次之,其他两步就很简单。但是在做的时候,我们往往是按照进程一步一步来的,但是到了第二步就卡住了,然后我们就一直死磕,这是好的但也是有些不好的,因为这有些打击自己自信心,...

2020-03-18 09:37:27 152

原创 MoM(五)解矩阵方程

在阻抗矩阵填充之后,接下来就是解矩阵方程了。后期在补上公式,先上代码。注意:方程求得解是函数的解。#pragma once#include<iostream>#include<stdio.h>#include<armadillo>#include<math.h>#include<complex>#include&...

2020-03-11 16:57:15 1092

原创 MoM(四) 阻抗矩阵填充

一、一些函数介绍1、函数1、函数原型: 功能:返回一个小于传入参数的最大整数参数:x为将来被处理的数返回值:返回不大于x的最大整数例:2、为矩阵表示列相加,表示行相加二、注意事项格林函数: 填充阻抗矩阵时,一个 element 三角形 要与其他所有的 element 三角形(包括它自己) 进行格林函数计...

2020-03-06 20:20:17 1116 2

原创 MoM(三)

一、九点积分法:解决格林函数奇异性问题就是将任意 element 三角形分成9个小的三角型,参考图形如下:#pragma once#include<iostream>#include<fstream>#include<vector>#include<string>#include<armadillo>#in...

2020-03-04 21:36:48 1173

原创 MoM(二)

一、计算单元面积1、原理利用向量的思想,其中,与分别为向量AB与AC在空间直角坐标系下的坐标表达,即:向量构成三角形面积等于向量构成平行四边形面积的一半即三角型的面积是四边形面积的一半2、重难点写代码的时候,发现函数不能返回数组,所以在这记一下。1、使用指针int* fun(int x1[3], int x2[3]){ int* x3 = new int...

2020-03-03 18:16:01 798 1

原创 MOM(一)数据读入

一、读入文件介绍1、rwg第一个数代表rwg的个数下面几行的前两个数字 表示相邻两个element 的编号。2、element (即一个三角形面片)第一个数为 element 的个数,后面为顶点坐标坐标。二、读入剖分数据读取 element 信息时,创建了一个3D 矩阵,每一层都表示一个 element ,而一个 element 由3个顶点组成,每个顶点由3个不同方...

2020-03-02 20:13:52 2194 2

转载 C++ 中 stringstream 类的用法

一、类型转换——数字->字符串C++ stringstream 类是一种十分有用的类,特别是当我们需要在程序中使用字符串和数字数据互相转换的时候。要想在程序中使用 stringstream 类,我们需要在源程序文件中包含头文件include<sstream>。stringstream 对象的使用方法与cout对象的使用方法基本相同。当我们需要按预定的格式将程序中的数据保存...

2020-03-01 19:04:13 485

原创 c++中getline、substr、find的用法

功能:读入一行数据。c++中有2种getline函数,在头文件 <istream> 中,是istream类的成员函数; 另一种是在头文件 <string> 中,是普通函数。1.头文件 <istream> 的getline函数两种重载形式:istream& getline (char* s, streamsize n ); //读取最多...

2020-03-01 19:01:37 802

原创 计算电磁学MoM学习启动篇

从今天开始计算电磁学的学习,由于之前买的书没有带回来,疫情期间又不能乱跑,所以这一两天取收集一下资料开始MOM的学习,万事开头难,先做起来再说。一、理论知识复习1、数学原理2、RWG基函数3、电场积分方程4、电场积分方程的矢量解...

2020-03-01 14:51:29 2273 10

原创 数值计算笔记之迭代法的收敛性

回顾,雅可比以及高斯-赛德尔迭代阵。雅可比迭代阵: 高斯-赛德尔迭代阵:迭代法的收敛性1、充分条件定理1:若迭代阵(范数),则迭代法公式对任意初值均成立。例: ,判断上述迭代法的收敛性。由 A 有:,,<1>、对于雅可比迭代法: (行范数:取 各行数的绝对值之和 最大的那个和值) 雅可比迭代法收敛。<2&...

2020-02-28 17:17:54 35603 2

原创 数值计算笔记之线性方程组的迭代解、迭代方法

一、迭代解1、直接法与迭代法直接法:直接求出准确解迭代法:得到近似解(由截断误差造成)例:求解方程组解法一:直接法(选择高斯消去法)1、消元2、回代解法二:迭代法迭代法基本原理:给定某初始解,按 若{}收敛于,且连续,则即为的解 ( 详细过程链接。非线性方程的求解(迭代法)下面是方程组的:取初始向量 ,...

2020-02-27 12:39:39 4012

原创 数值计算笔记之条件数

0、范数点击链接一、方程组的性态例:有准确解:现考虑右端项的微小扰动,则此时为方程组的解为: ,那么就称此类方程组是”病态“的。条件数定义:称为 的条件数,记作:可以看到,其条件数的定义是用范数来定义的,而范数有很多的类型,所以可以使用下标来表示。例: ,其中为的最大特征值,为 的最小特征值特别的,当时,,其中为...

2020-02-25 20:35:03 2815

原创 数值计算笔记之线性方程组的直接解法(二)矩阵的三角分解法(LU分解)

一、矩阵的三角分解法定义:矩阵 A 分解为一个单位下三角阵(L)和一个上三角阵(U)的乘积的形式,称为对 A 三角分解。即:其中,, 现考虑方程组:,设,则 ,通过 2 式求得Y 的解,然后带入 1 式,求得 X 的解。因为 1、2 式都是关于三角矩阵的求解,所以求解过程很方便简单。二、消去法与三角分解设把第一行 乘以,加到 第 i 行上,把变成...

2020-02-24 20:08:48 10372

原创 数值计算笔记之线性方程组的直接解法(一)高斯消去法

线性方程组的一般形式:,,解线性方程组的方法;消元法 克莱姆法则 逆矩阵法 当未知数非常大的时候,求逆是一件工作量非常大的事,所以一般采用消元法。一、高斯消去法的基本思想把方程组化成同解的三角形方程组例:利用式将式的消去:利用式将的消去:最后,将数进行回代就可以了,总结步骤...

2020-02-24 15:28:18 1853

逻辑回归的梯度下降.zip

用C++写的逻辑回归的梯度下降算法,其中有训练集样本,也可以自己选择训练样本,代码还可以进一步优化,你可以试一试。

2020-04-02

线性回归的梯度下降.zip

c++实现的线性回归梯度下降法。线性回归的梯度下降:其实就是将梯度下降算法和代价函数相结合,最重要的是梯度下降法的导数部分。

2020-03-28

数值计算C++代码,包括各种插值C++代码.zip

学习数值计算后写的C++代码,里面有二分法、迭代法、拉格朗日插值、牛顿插值、三次样条插值、数值积分、数值微分、龙贝格算法、高斯-赛德尔迭代法等C++源码。后续更新

2020-02-27

GuassSeidel.zip

高斯--赛德尔迭代法C++代码,高斯--赛德尔迭代法由雅可比迭代法的基础上得来,加快了雅可比迭代法的收敛速度。

2020-02-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除