自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

善水的博客

在校大学生自学编程的初级玩家,主要方向JAVA 、Matlab、Revit、Python

  • 博客(72)
  • 资源 (5)
  • 收藏
  • 关注

原创 基于Revit模型的现实增强(AR)技术探索(附视频教程和素材)

今天是2019年4月9日,回首已经大半年没有写作了。在过去这半年中呢主要心思放在了建筑老本行了,主要做BIM建筑和造价一系列零散的事情。最近呢也是趋于毕业了,所以就在忙毕业设计的事情,毕业设计主要题目也是关于BIM技术和工程造价方面的。正在前期做好算量组价之后呢闲着无聊,打开CSDN看了下自己的博客,觉得很对不住编程啊!!!所以呢萌生了BIM模型(主要是Revit)与编程之间的联系。因为自己大一就...

2019-04-11 17:19:39 3879

原创 C语言数据结构预备知识模块二:结构体

继上面的基础模块知识之指针之后,我们对数据结构的预备知识——结构体进行记录学习。在学习 Java之后,我们对面向对象的编程方法更为习惯,因为类Class的出现,让我们对“万事万物皆对象”的理念更为深刻的理解,这也符合人们的思维习惯,并提高开发代码的重用性,从而提高开发效率,在C语言中我们发现结构体(struct)和java中的Class有着异曲同工之妙。1、结构体是一种新的数据结构类型,因为我们已...

2018-07-03 12:58:20 633

原创 数据结构预备知识模块一:指针及指针变量

在我们数据结构中,我们主要研究的是数据变量以及之间关系的学科,在计算机中数据的存储是基于连续存储和离散存储机制实现的,其中连续存储顾名思义就是在计算机存储设备上开辟连续的物理存储空间来存储数据,使得数据之间在物理和逻辑上都是相邻的,因此这样的实现我们可以借助“数组”这一数据结构。这一数据结构因为其内部数据的存储是连续的,所以其寻址定位就相对简单化了。我们可以直接进行数据的访问和操作。对于离散存储,...

2018-07-02 20:36:26 670

原创 Mybatis入门基本实例--实现增删改查

基于上一篇文章的Mybatis配置信息,我们可以实现一些基本的数据库功能模块,这里我以先前创建的User类作为数据库,对此进行增删改查的基础操作。其基本实现如下:一、增加记录到数据库(INSERT INTO):首先我们要明白,对数据库的操作是使用Java代码实现的,我们需要在Java中,需要通过加载Usermapper.xml的配置文件来构造与MySQL交互的SqlSession类。这...

2018-06-18 23:54:07 10242 1

原创 Mybatis的入门配置最新JDBC8.0程序过程中出现的问题总结

今天编写了一个入门的Mybatis程序,就是通过Mybatis的一系列配置来实现Mysql数据库的查询。在编写的过程中遇到了一系列的问题,估计其他入门的同学也会遇到相同或者类似的问题。下面是我个人的运行过程问题描述仅供参考:1、xml格式的配置文件爆红×并提示如下信息: The processing instruction target matching “[xX][mM][lL]” is...

2018-06-18 14:05:32 1211

原创 MySql入门问题:建表报错

前面我们记录了Mybatis的一些基本概念和实现原理。在这之后就是对其进行配置并进行测试,在这个过程中,我们先从Mysql的实现中发现了一零基础系列的问题,首先是在基本表的查询中,Mysql中的建表操作总是出现问题,例如以下的建表语句:CREATE TABLE IF NOT EXISTS 'user'( 'id' INT UNSIGNED AUTO_INCREMENT, 'user...

2018-06-17 19:13:39 1710 2

原创 一、MyBatis初探

1.为什么是MyBatis? 在我们的系统开发中,我们的业务逻辑最终基本都是基于数据库的内容的,所以这一过程就涉及到与数据库的增删改查各种操作,我们在javase的学习中,对数据库的操作都是基于JDBC的操作的,但是JDBC存在这么一个问题:所有的数据库连接的连接信息或者是SQL语句都是被我们固定地写死在Java代码中的,这在编程中我们称之为“硬编码”。硬编码这样的代码编写习惯会使我...

2018-06-09 00:01:13 302

原创 选择排序的Python实现

选择排序是一种基础的排序算法,其基于数组的数据结构,这样的数据结构具有很强的灵活性,之所以说具有很强的灵活性呢,我们知道数组和顺序线性表结构是一种简单的存储结构,因为他们在逻辑上相邻的元素在物理内存之上也是彼此相邻的。而且同一个数组的数据类型必须是一致的,这样我们就可以通过数组的下标[index]进行随机顺序访问数组中的元素。这相比链表结构是做不到的,在链表的数据结构中,我们知道元素之间的逻辑相邻...

2018-05-21 11:50:20 7120 1

转载 操作系统之——进程管理:同步进程和进程互斥

操作系统进程管理-同步和互斥在看了操作系统关于进程管理中的同步互斥机制章节之后,甚是困惑,今天通过视频、网上博客资料学习之后,整理一下相关知识点。进程管理一、进程互斥由于进程具有独立性和异步性等并发特征,计算机的资源有限,导致了进程之间的资源竞争和共享,也导致了对进程执行过程的制约。1.临界区相关概念: 临界资源:也就是一次只允许一个进程操作使用的计算机资源,这里的资源可...

2018-03-09 11:44:35 5326

原创 BP神经网络的Matlab实现——人工智能算法

这几天在各大媒体上接触到了人工智能机器学习,觉得很有意思,于是开始入门最简单的机器算法——神经网络训练算法(Neural Network Training);以前一直觉得机器学习很高深,到处是超高等数学、线性代数、数理统计。入坑发现确实是这样!但是呢由项目实例驱动的学习比起为考试不挂科为目的的学习更为高效、实用!在遗传算法、神经网络算法的学习入门之后觉得数学只要用心看没问题的(即使是蒙特卡洛和马尔

2018-01-27 23:07:23 188119 36

原创 数据的机器层次表示

数据是计算机处理和加工的基本单位和对象。在计算机中数据分为无符号数(绝对值)和有符号数(真值)。其中带符号数根据编码分为原码、反码、补码、移码。计算机中数据的表示最基本的为二进制(B)、十进制(D)、八进制(Q)、十六进制(H),其具体转化是基于位来进行的,也就是“满十进一,满二进一”等。具体转化的简单记忆方法可以参考我的博客:进制转换详解一、无符号数和带符号数所谓的无符号数就是数据的

2018-01-24 21:30:31 1191

原创 计算机网络之网络层

网络层处在传输层的下层,也叫作IP层。首先我们概括的说明一下网络层的总体功能一.概述1.网络层的功能异构网络互连路由和转发机制拥塞控制2.路由算法静态路由和动态路由距离-向量路由算法链路状态路由算法层次路由3.IPv4IPV4分组IPv4地址与NAT子网划分与子网掩码CIDR路由聚集 ARP协议DHCP协议ICMP协议4.IPv6

2018-01-24 21:29:44 1638

原创 计算机网路-传输层详解

一、传输层的服务基本原理1.多路复用和解复用(分路)技术复用是指:发送方的不同的应用进程都可以使用同一个传输层协议传送数据;分路技术是指:接收方的传输层剥去报文首部之后能把这些数据正确的传输到正确的应用进程上。2.可靠数据传输3.流量控制和拥塞控制二、传输层提供的服务2.1传输层寻址和端口传输层主要是提供不同主机上的进程之间的逻辑通信(端到端的通信),即使在

2018-01-13 20:00:56 19139 3

原创 优化算法之遗传算法

前几天,在听了学长关于遗传优化算法应用在考虑TMD作用的地震分析之后,感觉到优化算法一系列的优化算法的强大之处。回来也趁热打铁查了一下资料,大致理解一下遗传算法的机理。下面就记录分享一下吧。一、遗传算法简介顾名思义,遗传算法是模拟生物在自然环境下的遗传和进化过程的一种自适应的全局优化搜索算法,通过借助遗传学的原理,经过自然选择、遗传、变异等作用机制进而筛选出具有适应性更高的个体(适者生存)

2018-01-08 15:34:35 45858 23

原创 Android碎片化Fragment实例一

一:内容概览 我们再android中所说的碎片化也就是针对不同设备的屏幕大小设计不同的适配方案所说的词语。一般而言我们就是在开发时针对不同屏幕分辨率的设备适配UI,比如手机和平板。在本小节,我们主要是介绍Fragment的最简单入门使用方法。 二:主要步骤: 2.1我们首先看一下我们的实例效果图:我们可以看到在10英寸的屏幕平板中,将当前的Activity(也就是一个活动界面)嵌套两个

2017-12-26 22:06:51 1909

原创 JSP语法之脚本、指令、注释的综合例子

JSP是我们的企业级动态网页的基本技术,实质上来说JSP在HTML静态语言中使用java代码的技术。所以我们需要理解java的代码在html语言中的使用语法: 1.语法:1)<%java代码%> ----- 内部的java代码翻译到service方法的内部2)<%=java变量或表达式> ----- 会被翻译成service方法内部out.print()3)<%!java代码%> ---- 会

2017-12-12 13:12:37 621

原创 Android Studio3.0中自定义标题栏的实现——去掉标题栏

在我们的android开发中,我们在开发UI布局的时候经常会用到自定义布局,但是与默认的布局标题栏有冲突,出现如下这种情况应对这种情况的解决方式很简单,我们找到我们的文件资源导航栏的style.xml文件,具体位置入下:打开style.xml我们可以找到定义样式的项:<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"

2017-12-10 16:56:59 8016

翻译 网络应用的Socket API编程的基本调用流程

在计算机OSI七层协议的顶层-应用层的网络应用中,Socket套接字编程使我们必须使用的技术,现在就记录一下套接字的网络编程的客户端服务器的调用流程;如下为基本流程图: 一、服务端 1.首先我们知道在客户端和服务器之间我们必须先开启服务器进程,以此来等待客户端的连接,所以我们先来看一下服务器的初始化流程: 1.1服务器调用WSAStartup()函数,来初始化套接字进程;int WSAStar

2017-12-09 18:38:48 2518

原创 Matlab调用Python读取Abaqus模型操作

前言: 在工程有限元软件中,abaqus因为强大的软件建模与云图分析,再加上其内核语言及接口都是使用简单上手的脚本语言python进行的编写,而受到广泛的运用,但对计算输出结果数据没有提供很好的访问和处理;而MATLAB语言是一门工程数学分析计算的强大工具语言,擅长对矩阵和向量的处理而受到青睐。同时呢MATLAB在机器学习等领域也是有着得天独厚的优势。进入主题: 今天我根据自己的实际学习过

2017-12-04 14:07:51 8826 2

转载 区位码、国标码、机内码、字型码

一、区位码 区位码是一个四位的十进制数,前两位叫做区码(01-94),后两位叫做位码(01-94)。汉字与符号组成一个94×94的矩阵。在此方阵中,每一行称为一个“区”,每一列称为一个“位”。 每个区位码都对应着一个唯一的汉字或符号。比如:“2901”输入“健”字,“4582”输入“万”字。 二、国标码 区位码是一个四位的十进制数,国标码是一个四位的十六进制数。为了和ASCII码兼容,汉字输

2017-11-29 23:41:26 28898 1

原创 数据结构算法和算法效率评价

一、算法的基本概念 算法(Algorithm):是针对特定问题的问题求解步骤的一种描述。它是指令的有限序列;算法具有如下五个重要特征: 1.1、有穷性:有穷步骤,有穷计算时间; 1.2、确定性:每一条指令必须有确切的含义。换句话说就是:对于相同的输入必须得出相同的输出结果。 1.3、可行性:算法是可行的,算法中描述的操作都是可以通过已经实现的基本运算执行有限次得到。 1.4、输入 1.

2017-11-24 14:25:20 2885

原创 C#语言的正则表达式(Regex)详解

正则表达式我们并不陌生,比如需要验证用户输入是否合法,比如输入邮箱的输入框判断输入是否合乎要求等等。 简单来说,正则表达式就是定义好固定的格式,再对用户的输入信息验证。以判断输入是否合法。实例:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Thre

2017-11-22 00:00:57 6364 1

原创 第一章节:Revit API基本概念

本章我们只要记录下载我本人学习Revit二次开发过程的API基本概念 1.外部命令:IExternalCommand 2.外部应用:IExternalApplication 3.插件的属性(Transaction、Journaling) 4.Revit的应用类和文档类(Application和Document) 3.Revit插件的注册安装到revit 4.应用实例一、外部命令:IExt

2017-11-21 12:52:33 8650

原创 Matlab调用C++代码的具体mex实现详解

在这里记录一下自己的挖坑、填坑过程。从mex环境到与成功调用在具体的实现中,由于matlab具有很强的矩阵运算能力。而对于处理太多的循环结构运算却显得很吃力。所以在具体的实现中,我们可以在Matlab中调用其他语言的程序来达到最高效率的实现。这里我主要是是matlab来调用写好的C++代码为例。当然这也完全使用C语言的代码调用实现。一、首先,我们需要有自己的编程环境,我的是matlab2017+Mi

2017-11-21 11:25:38 12884

原创 Matlab2017b配置C++/C/Fortan编译器的问题(已解决)

今天在配置Matlab2017编译C++代码的时候,一贯的调用mex -setup命令,结果显示没有找到任何支持的编译器或SDK。您可以安装免费的mingw-w64 c/c++编译器; 崩溃!! 最后根据错误所给的链接在matlab2017的获取附加功能安装mingw-w64 、结果半天没下载好。 最后查找了各种文档,使用的是安装TMD-GCC-64成功解决!!步骤如下: 1;下载TMD-G

2017-11-19 18:33:20 10872 6

原创 数据结构概论

数据结构和算法是程序的核心和灵魂! 一、数据结构基本概念和术语 1、数据结构的三要素:逻辑结构、存储结构(物理结构)、数据运算。 2、数据:数据是信息表示的载体和变现形式,它是由描述客观事物的属性的数字、字符和所有能够被计算机程序识别和处理的符号总称。 3、数据元素:数据元素是数据的基本单位。它又由不可分割的最小单位数据项组成;例如学生记录(同数据库中的记录)是由学号、姓名、性别、成绩等数据

2017-11-17 15:19:14 382

原创 数据进制(二进制、十进制、十六进制)的转换详解

(闲聊: 自学计算机也有一段时间了,随着一步步的深入以前看书的重要知识点更加清晰了,今天看C#看到了数据进制的转换,以前看的基本忘记了。忘记的原因或许是理解不深刻吧。现在记录一下数据进制新学习的内容。 10进制:十进制的产生或跟是10手指头容易计数的缘故吧,十进制数据以10为计数基数,从0-9这10个数字构成,满十进一。这个概念很重要,我们可以依次运用到其他进制中。 ...

2017-11-05 15:23:27 5427 2

原创 数据进制(二进制、十进制、十六进制)的转换详解

闲聊: 自学计算机也有一段时间了,随着一步步的深入以前看书的重要知识点更加清晰了,今天看C#看到了数据进制的转换,以前看的基本忘记了。忘记的原因或许是理解不深刻吧。现在记录一下数据进制新学习的内容。 10进制:十进制的产生或跟是10手指头容易计数的缘故吧,十进制数据以10为计数基数,从0-9这10个数字构成,满十进一。这个概念很重要,我们可以依次运用到其他进制中。 二进

2017-11-05 15:23:03 1164

原创 Java笔记-反射机制Reflection API(java动态机制)基础

原则上java不是动态语言的范畴,比如python PHP。但是反射机制的出现使得java在一定意义上实现了动态语言的特征的。通过反射机制的API可以动态的获取运行时的类的内部信息或者类的结构信息。并且能够操作类的实例的对象和方法。Java反射机制提供如下的功能: 1.在运行时判断任意一个对象的所属的类。 2.在运行时创建任何一个类的对象实例。 3.运行时获取任意一个类的所有的属性和方法(包括

2017-11-01 23:19:55 611

原创 Java虚拟机学习笔记-运行时数据区(内存区)

Java虚拟机在执行java程序过程中把内存划分成不同的数据区域:比如常见的堆栈、方法区、静态域、常量池等。以下是java运行时的数据区域图解: 在运行时数据区中程序计数器是一块分配较小内存的空间,它的主要功能可以描述为jvm字节码编译的位置记录器,字节码解释器工作时就是通过改变此程序计数器的值来选取下一条需要执行的字节码指令。 java虚拟机的多线程是通过线程之间的轮流切换并分配处理器执行时间

2017-10-31 11:16:56 283

原创 java算法基础--二分查找

二分查找是我们java算法的入门算法。二分查找可以减少检索次数,提高检索效率;首先二分查找是基于对数组进行的有序排列的,基础流程就是: 将排序后的数组按中值(mid)一分为二,并标记最大值max,最小值min; 如果要检索的key值小于mid,则关键字在左边。那么把(mid-1)赋值给数组最大值max;否则把(mid+1)赋值给最小值min;然后再依次进行检索。 下面是检索示意图:

2017-10-21 12:06:16 231

原创 Abaqus中输出场文件odb的数据结构及Python读取

Abaqus所生成的Odb文件对象,包含了我们建模中的模型信息,比如:part;assembly;material;section;profiles;interaction等模型信息;在不考虑结果数据的情况下,我们可以把Odb对象与Model对象相对比开看,他们包含了有限元模型的大部分信息,Odb对象的成员信息如下: 下面是一个小实例,读取odb文件中的模型信息: o = se

2017-10-16 15:41:26 35338 22

原创 Python模块之os-shutil对磁盘文件的清理、分类实例

在Abaqus运行或者提交计算之后,工作目录会产生大量的数据文件,对于我们abaqus来说只需要保留一部分文件即可,比如:inp(abaqus的输入操作文件);odb(数据库输出文件);cae(工程文件)和msg(任务求解信息记录);rpy(操作命令记录文件)等等 由此我们可以利用python脚本进行工作目录文件的清理和分类。下面是我们文件和目录操作的python模块及其主要函数:****下面是

2017-10-12 19:21:05 763

原创 Python基础之IO文件目录的操作

在程序设计的过程中我们必须和数据文件打交道,这些数据往往是存储在本地磁盘文件或者网络数据。这里我们主要侧重本地文件的操作,网络数据采集属于爬虫的范围。在Abaqus二次开发过程中,我们主要运用Python进行处理Abaqus的odb数据文件处理成txt以供matlab进行数据运算,matlab再返回Abaqus能识别的inp文件进行建模。1.文件的读写首先读写涉及到IO模块,在使用之前必须导入

2017-10-12 12:00:29 671

原创 Python中的Lambda函数关键词的用法

1.lambda函数: Lambda关键词是一种轻量级的函数生成方式,其返回一个匿名函数,Lambda的调用格式如下: Lambda [ aru……] : expression Lambda的应用实例:1 固定参数:>>> x = lambda a,b:a+b**2>>> x(1,2)52 可变参数>>> z = lambda **a:len(a)>>> z(a=1,

2017-10-11 23:51:39 622

原创 Matlab线性代数基础---矩阵操作

2、矩阵的基本操作 2.1 矩阵的修改 1、矩阵的扩充:D = [A;B C] A为原来的矩阵,B C为包含要扩充的元素,D为扩充结果 2、删除行:A= [m; :] = [ ]:删除m行 3、A=[:,n]=[ ]:删除第n列 4、A(m,n)=a,对m行n列的元素进行赋值为a。 5、A(m, :)=[a,b……]:对m行进行赋值。 6、A(:, n)=[a,b……]:对n列进行赋

2017-10-09 23:48:33 1176

原创 Matlab的线性代数矩阵基础

我们知道,Matlab是一个和强大的高效编程语言,无论在数学大规模运算和图像操作上都是占据很大市场比率的。但是呢Matlab是基于矩阵的数据结构的语言,所以需要深刻掌握Matlab语言,需要了解矩阵在它的语法中的运用。下面是本人在学习Matlab时,总结的线性代数知识。 一、Matlab的矩阵创建和操作 1.1一般矩阵的创建 1.赋值法创建: 运用矩阵操作符‘[ ]’包含所创建的矩阵

2017-10-09 17:10:33 1114

原创 Matlab2017b启动慢,一直处于初始化状态的解决办法

今天终于完成安装Matlab2017b,很高兴打开软件,虽然2017b优化了实时编辑器,函数参数提醒等很多实用功能,但是初始化速度真的是等了我4-5分钟;最后找到解决办法,原因在于软件查找授权文件时间太长,所以解决自然是快速定位license文件: 现象如下: 下面是具体解决方法: 1.找到你注册的时候的License文件的绝对路径,比如我的: 点击地址栏:复制地址:D:\R2017b_wi

2017-10-06 22:20:36 78306 78

原创 Matlab程序入门GUI项目之二:简单科学计算器

今天是入门matlab语言的第八天,总是纠结在matlab语言的矩阵和其他编程语言的数据结构之间的转换;还是没啥头绪,可能是受到java、python等常规语言的编程习惯的限制,在我看来觉得有点像多维数组的实现,可是它的存储结构又有点困惑,所以还是继续慢慢渐悟吧!!保持手感,继续GUI编程: 简单科学计算器的实现:效果图: 步入正题: 第一步依然完成layout布局(代码控制或者可视化拖拽)比

2017-10-05 23:17:15 10800

原创 Matlab的GUI编程入门项目一:常用三角函数的绘制

Matlab入门一个星期啦,记录一下入门以来的第一个GUI(Graphical User Interface)的第一个例子; 首先,GUI编程在matlab中也是两种方式,一种是直接用代码控制各种控件和实现逻辑;另外一种,也是我们新手入门的捷径:通过GUIDE向导完成。这个类似于Android的Layout的实现方式。下面开始正题: 1,截面布局 新建一个GUI空白项目; 进入布局编辑器之后

2017-10-03 00:57:30 8259 1

DWF转Dwg终极方法

CAD图纸的高精度压缩DWF手机看图打不开,电脑显示找不到路径。此方法解决!

2019-04-11

Kotlin in chinese官方手册中文版

Kotlin移动开发手册中文版

2017-06-30

探索Android Studio使用手册

Android studio使用手册,Android studio探索

2017-06-30

Google Android官方培训指定教程文档

Android官方文培训文档,pdf离线文档下载

2017-06-27

空空如也

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

TA关注的人

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