- 博客(28)
- 资源 (4)
- 收藏
- 关注
原创 Java学习——封装继承多态
Java中的封装继承多态封装什么是封装为什么要封装封装的详细理解继承相关的关键字其他继承相关参考封装什么是封装下面是来自百度百科的解释: 封装是把过程和数据包围起来,对数据的访问只能通过已定义的接口。面向对象计算始于这个基本概念,即现实世界可以被描绘成一系列完全自治、封装的对象,这些对象通过一个受保护的接口访问其他对象。封装是一种信息隐藏技术,在java中通过关键字private,pro...
2021-03-20 11:35:14 271
原创 matlab从第N行开始读取dat数据
遇到了这样的一个问题,在matlab中要读取下面dat文件中的数据存到数组中。但是,最前面的一行是数据提示语,例如第一列的rcs代表下面的数据是雷达目标的rcs,第二列的fre代表其对应的频率。我们要读到matlab中要进行处理的数据当然不包括第一行的rcs和fre。所以怎么跳过第一行直接读后面的呢?尝试过load和fscanf函数,好像都不行。最后找到了一个textscan函数可以实现这个目的。下面是代码以及运行结果:clc;clear;close all;fid=fopen('rcs.dat'
2021-03-09 10:56:47 7956 2
原创 字典序排序输入的字符串
#include <stdio.h>#include <stdlib.h>#include <string.h>//字典序排序字符串#define MAX_LEN 200#define N 200int main(){ int n; char words[N][MAX_LEN]; char str[MAX_LEN]; gets(str); n = GetWords(str,words); SortStrin
2020-12-22 22:25:00 401
原创 算法题记录(1)两数之和
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]暴力破解法下面是...
2020-12-07 21:39:43 124
原创 支持向量机学习(1)——理论推导
支持向量机学习前言对于支持向量机,最早是在大学毕业设计时接触到的,那时已经大概把原理看了看,知道是利用最优的超平面将两类数据分开。但好像也仅限于此了,对于其中的核函数以及算法的实现什么的都没有过深的了解,最后也只是调用MATLAB里面以有的支持向量机的函数,然后把输入的特征输入进去,进行训练就可以实现对不同目标的分类了。然而时过两年,现在又要再次用到支持向量机,还是打算把其中的一些原理搞懂,今天不欠账,以后就不用还。问题描述也已经无数次的看到过SVM可以找出一个最优超平面将不同的数据分开 ,也无数次
2020-12-05 12:27:06 295
原创 c语言从txt文本读取数据
概述下载了visual studio 2019,想要从下面的txt文本里读取数据到数组中,本来以为是比较简单的,但是发现自己对c语言的使用还是不太熟练导致了许多问题,所以还是小记一下。首先要说的是这个程序开始总是报debug assertion failed的错误,但是我出去玩了两天回来竟然不报错了。下次碰到这个问题先将软件关闭再打开或者开机重启试试。首先还是把程序贴上来,因为是想把这一功能封装成函数,所以写成了函数形式,然后从主函数中调用#include "mySVM.h"void getTx
2020-10-17 15:51:23 14801 1
原创 Java学习——基于java swing的TCP数据传输(本机)
基于java swing的TCP数据传输理论知识TCP基础知识套接字SummaryUseImplementationJava中相关的类InetAddressSocketServerSocketJava程序实现思路服务器端Start类ChatPanel类客户端理论知识一不小心在维基上抄太多了,最近在练英语,瞎翻译容易上瘾,见谅。。。。TCP基础知识还是先从维基百科上抄一段。然后练练自己的英语...
2020-01-08 11:09:49 1337 1
原创 Java学习——IOStream
Java中的IOStream前言Java中的File类File(String pathname)File(File parent, String child)File(String parent, String child)mkdir()mkdirs()creatNewFile()delete()renameTo(File dest)判断功能的方法IO流文件流FileOutputStrea...
2020-01-05 18:14:00 1144
原创 Java学习——多线程
前言 记得本科时最开始听到多线程时,感觉好复杂啊。又是好多种状态啊:运行(running)、挂起(suspend)、恢复(resume)、阻塞(block)、终止(terminate)。又是各种优先级啊。还涉及到并发处理中的各种问题什么什么的。其实现在想想,在Java中,万物皆对象嘛,线程也不例外嘛。Java中的线程类是Thread,对于线程的操作也就封装在它里面了。它肯定是有已经写好的类供你...
2019-12-31 14:16:23 183
原创 用Java swing写一个简单象棋程序的心里历程(4)
各个棋子的走子规则卒下面是“兵”这个类里的重写的setLocation方法: @Override public void setLocation(int setsimX, int setsimY) { // TODO Auto-generated method stub if((CurrentsimY<5 && (setsimY-CurrentsimY...
2019-12-28 21:26:00 410
原创 用Java swing写一个简单象棋程序的心里历程(3)
前言抛去一些复杂的功能的话,不知不觉基本上已经写完啦,其实也没那么难。(当然现在程序中还有一些bug和一些必须要扩展的功能)。这次接着上次的,记录一下遇到的问题和解决的办法吧,车和炮带来的问题其实车和炮的走子规则有点类似的,就是在吃敌方的子时会有不同。程序在走子时,其实就是用setLocation 函数直接把代表各个棋子的component闪电式的在另外的位置显示出来。如下图:直接这样走...
2019-12-27 22:29:47 386 2
原创 用Java swing写一个简单象棋程序的心里历程(2)
说干就干,在Data类里面写了两个静态方法,首先就是把真实的坐标转换成简单的0,1,2,3。还有就是把简单的0、1、2、3转成真实的像素坐标。其中每一个象棋子的长宽都是 41 像素。再就是在每一个棋子类里面设置走的规则,有哪些地方不可以走,我通过了重写 setLocation的方法来实现的,再里面加上判断语句就可以。以后在GamePanel里监听鼠标的按下位置后,就用 重写的setLocatio...
2019-12-24 00:33:20 237
原创 用Java swing写一个简单象棋程序的心里历程(1)
前言 本来这一篇博客最开始是打算等完全把程序写出来后再写的,但是发现自己的程序要改的实在是太多了,很有可能改着改着就会忘记自己以前的思路,忘记以前写过的是什么样的,也就忘记了遇到的问题和解决的办法。所以还是从现在开始就记录自己的过程吧。 我现在是怎么想的呢?先是需要一个JFrame,当窗口,这个直接把它放在Main里面。一个JPanel,名字叫GamePanel,把这个JPanel加载到前...
2019-12-23 19:15:03 605
原创 Java学习(4)——关于Object类
概述在Java中Object类是所有类的老祖宗,它是最开始的类。如下图,打开AWT(Abstract Window Toolkit)的继承关系图,就可以看到最上面的类就是Object类。事实上,任何一个类的起源都是Object。Object的方法Object类中的方法主要有以下几种:(1)hashCode()这个方法是用来得到对象的哈希值的,所谓哈希值,就是对象的内存地址经过处理后的结...
2019-12-23 15:30:20 167
原创 Java学习(3)——关于面向对象的瞎谈
关于面向对象 众所周知,C 是面向过程的语言,Java 是面向对象的语言。 关于面向过程,还是很好理解的。一步一步的来就是面向过程嘛,把冰箱门打开,把大象放进去,再把冰箱门关上。它关注的解决问题的过程,有先后的顺序。 而面向对象,再来分析这个问题的时候。首先要明白何为对象?(好深奥啊。。)object 可以翻译为对象,但是我感觉它的另一个意思“物体”更好理解。就是在解决问题时,主要关注...
2019-12-22 21:11:12 267
原创 Java学习(2)——程序控制语句
程序控制语句同C一样,Java也同样有这个东西。基本上与c一样。ifif 的用法也同C基本一样,一点区别是 if 后面括号里必须是 Boolean 类型的值。而不是像C那样大于0的代表为 true,小于0的代表 false;例:Boolean sFlag = false;if(sFlag == false ) { sFlag = !sFlag;}if(sFlag == true )...
2019-12-22 16:09:11 182
原创 MATLAB小波变换图像处理简单示例
前言 从傅里叶变换到短时傅里叶变换再到小波变换,这些分析问题的方法是一代一代人的探索和积累得来的宝贵知识财富。比较常见的还有脊波变换,曲波变换,轮廓波变换。感觉一种方法弄懂了,在以后很有可能会再次用到。就像这次,本来本科毕设已经用到了小波变换和轮廓波变换,但是自己并没有把它完全弄懂,结果这次课程作业还是要重新看。。。虽然这一次也还是没搞懂。。这里主要记录MATLAB小波包中的函数的用法而已,也...
2019-12-20 12:00:40 17653 2
原创 Java学习(1)——数据类型
前言 开始学学java吧,要不然怕自己学的专业知识找不到工作。。另外也可以把它当成爱好吧,想想如果有一天能够搭建一个自己的网站,感觉还是挺有成就感的。基础语法 首先可以看看哪些基础语法与 C 语言相同与不同,毕竟学了也用了一段时间的 C 语言。1、数据类型C语言的基本数据类型有:\color{red}{C 语言的基本数据类型有:}C语言的基本数据类型有: short (int)...
2019-12-18 14:43:06 145
原创 基于java的粒子群算法(PSO)简单实例
问题:用粒子群算法求函数f(x)=xsinx*cos2x-2*x*sin3x的最大值,同时可以求出当x取多少时原函数有最大值?粒子群算法:1.同遗传算法一样先要随机生成鸟群的位置和速度(相当于遗传算法中随机生成的种群),其实就是在特定的范围内生成随机数2.需要开始一个大循环,可以理解为各个鸟进行信息交流后又开始去新的位置寻找食物。3.需要记录下每只“鸟”历史上的最优位置(因为会...
2019-12-09 00:02:39 1453
原创 将罗马数字转换为阿拉伯数字(java,HashMap)
主要重要的是要了解Java中Hashtable和HashMap用法。以及它们各自常用的方法。HashMap<String,Integer>中前一个是key,后一个是value;key和value的数据类型是都可以是String也都可以是Integer。另外一个key,对应的value有且只有一个,但是一个value可能对应不同的key。这也是为什么我们可以很简单的通过key值来得到...
2019-12-04 21:42:49 431
原创 基于matlab的遗传算法简单示例
问题:利用遗传算法求法f(x)=x*sin(10*pi*x)+2,-1<=x<=2时的最大值大概步骤就是:1.随机生成种群,就是-1到2之间的数,只关注保留了小数点后的4位,本来以为是matlab只保留4位小数然而并不是。(问题不大)2.通过适应度进行选择,就是适应度越高越容易保留下来。这里通过轮盘赌的方式来确定哪些种群留下来。其实是有些个体增加了一下,有些不要啦。比如开始...
2019-11-29 21:57:48 3754
原创 多普勒频率
多普勒频率如图(基本上照搬老师的啦)假设有一物体以速度vvv从右向左匀速运动,我们可以通过最左边的雷达发射出的有固定频率TTT的信号来探测运动的物体。A离开雷达时,目标正好在R0R_0R0的位置。Δt1\Delta t_1Δt1是代表从A到达目标到经反射后返回雷达的时间(它和从雷达发射的信号A到目标的时间是一样的)可以有cΔt1=R0+vΔt1c\Delta t_1=R_0+v\Delt...
2019-09-04 01:16:24 11146 3
原创 图像处理中的插值算法
假设有一副图像A,像素为 m×n。如果要将其缩放为原来的a倍变成图像B,其像素为 a*m×a*n=M×N(*代表乘法运算),将会涉及到插值的问题,常见的插值方法有三种最邻近插值、双线性插值、双立方插值。一、最邻近插值如图,假设原始图像A为 4×4 的像素,缩放后的图像B为 3×3 的像素。其中A中每个像素块的值我们都已经知道,而B中每个像素块的值都不知道,只要利用图像A求...
2019-05-22 20:27:48 4909 4
原创 nodemcu入门,远程点亮LED灯
一、前言 拿到这个模块(nodemcu)后,第一个想要实现的功能就是,能够在电脑上或者是手机上来控制这个模块上的一个LED灯的亮灭。也就是通过在电脑(或者手机)和模块之间建立网络连接,然后通过电脑(或者手机)发送一个数据让网络模块上的一个IO口拉高(或拉低)。一般最常用的网络连接方式有TCP和UDP两种吧,这里只是用了TCP这一种。通过在nodemcu上建立TCP服务器端,在电脑(或手机)上...
2018-06-25 11:18:03 30850 15
原创 基于FPGA的AM调制与解调(Verilog语言)
一、概述 说是概述,但是你还是必须还是容我先瞎扯一番的。又是课程的作业,要通过FPGA实现AM信号的产生与解调。我们最开始手上是有硬件的板卡的,型号是叫Nexys Video。(当然现在被老师收走了,所以下面的程序只能讲解到仿真的层次)要求是通过VIO控制载波频率、调制信号频率、调制深度可调,然后通过ILA观察AM信号和解调后的信号。我记得载波信号的频率要求是1M~10M,调制信号的频率要...
2018-06-11 03:06:56 35156 33
原创 关于ds1302发烫的解决方法
在用到ds1302芯片来设计电子时钟时,开始没有接备用电源时,一切都还正常。等我随便找了一个电压大概1.8v的不能充电的干电池当备用电源接到芯片上时,芯片开始发烫。还好虽然芯片很烫,但还是可以正常使用(时间长了说不定就不能正常使用啦)。等我把备用电源拆下来后,发现再上电时,有时发烫有时正常。看网上说的,因为不是充电电池,所以在vcc2角上要接一个二极管,还有把vcc1和地之间接一个...
2018-03-02 12:03:01 1373 1
原创 基于51单片机的万年历(包含闹钟,秒表)实现
开头唠一唠: 趁着寒假的时间,也趁着课程设计正好是做一个万年历。就打算好好从头到尾来一遍。涨涨知识。首先说的是本人也是小白一颗,大神们能帮忙指正错误的话,不胜感激。写博客只是为了总结经验,要是帮到一部分人就更好了。我想是从硬件到软件都介绍的详细一点,还想说一说自己遇到的一些问题,可能要写的长一点。代码的话我会在后面上传。好,闲话不多说。进入正题。概述:...
2018-01-28 10:50:24 45687 20
原创 android fragment新手简单应用(实现界面之间的跳转)
刚刚开始接触android的开发,前几天大概了解了fragment的简单用法,来分享分享经验,同时来巩固一下自己的知识。废话不多说,先来看看程序运行到虚拟机上的情况。默认界面,上部的fragment界面会显示英文单词 one当点击屏幕下面的按钮 two 时,上部分的fragment会显示单词 two当点击屏幕下面的按钮 three 时,上部分的fragment会显示单词 thr
2017-10-20 15:25:14 4743 1
MATLAB实现音频分析仪
2018-01-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人