- 博客(68)
- 收藏
- 关注
原创 DFT与IDFT
DFT与IDFT一.方法简介序列x(n)(n=0,1,…N-1)的DFT定义为X(k)=∑n=0N−1x(n)e−j2πnkNX(k)=\sum_{n=0}^{N-1}x(n)e^{-j\frac{2\pi nk}{N}}X(k)=n=0∑N−1x(n)e−jN2πnk设x(n)=a(n)+jb(n),X(k)=A(k)+jB(K),Q=2π/N设x(n)=a(n)+jb(n),...
2019-02-28 20:38:01
36711
3
原创 用C语言实现DFT算法
一. 简介离散傅里叶变换(Discrete Fourier Transform,缩写为DFT),是傅里叶变换在时域和频域上都呈离散的形式,将信号的时域采样变换为其DTFT的频域采样。在形式上,变换两端(时域和频域上)的序列是有限长的,而实际上这两组序列都应当被认为是离散周期信号的主值序列。即使对有限长的离散信号作DFT,也应当将其看作其周期延拓的变换。X(k)=∑n=0N−1x(n)exp(−...
2019-01-22 17:11:25
13340
5
原创 画出正弦波形(分别用C和MATLAB)
一. 用C画正弦波形用TCC编译程序,用gnupolt画出图形,代码如下:#include<stdio.h>#include<math.h>#define pi 3.14int main(){ double t,y; for (int i=0; i<200; i++) { t=i/200.0; //采...
2019-01-13 23:42:16
11533
原创 ECharts的简单学习(一)
1.简介ECharts是百度推出的一款强大的作图工具,是基于HTML5的图形库,其开源免费且功能丰富,官网上的资料也很详细,使用ECharts做图需要有一些简单的HTML和JavaScript基础,要用到一些标签。ECharts官网我们可以根据自己的需要选择下载合适的版本,这里我选择的是完整版,如下图示:2.使用方法2.1 引入EChartsECharts 的引入方式类似 JavaS...
2019-01-08 00:25:00
527
原创 java.TCP通信(简单的聊天程序)
要求:编写两个java application应用程序,完成以下功能:一个程序为服务端,建立TCP服务端套接字。另外一个程序为客户端,建立TCP客户端套接字。这两个程序可以互联,完成一个基于TCP/IP网络的文本聊天程序。主要方法:ServerSocket(int port); 创建绑定到特定端口的服务器套接字accept(); 等待客户机的连接。若连接,则创建一套接字...
2018-12-08 17:18:04
1507
原创 JAVA定时器和多线程
文章目录任务一:主要方法:程序:运行结果:任务二:主要方法:程序:运行结果:任务三:主要方法:程序:运行结果:这篇博客介绍java的定时器类Timer, 和多线程类Thread.任务一:完成一个java application应用程序,使用定时器编程,在实时显示当前时间,每1秒时钟内容更新一次。主要方法:ModifierConstructorDescription...
2018-11-10 16:10:51
7269
原创 JAVA 字符串操作
要求:完成一个java application应用程序,完成字符串的各种操作。操作包括字符串的初始化赋值和输出。操作包括两个字符串相加合成为一个新字符串。操作包括两个字符串比较其是否相同。操作包括已知一个字符串,查找某一子字符串是否被包含在此字符串之中,如果包含,包含了多少次。操作包括已知一个字符串及其包含的某一子字符串,把此子字符串替换为其他的新的指定字符串。...
2018-11-02 12:37:52
2256
原创 JAVA 文件操作(4)
要求:通过二进制流的操作方式把程序调整为可以实现对任何类型文件进行文件移动(而不是调用windows命令行的外部命令move)。主要方法:renameTo官方说明:public boolean renameTo(File dest)Renames the file denoted by this abstract pathname.Many aspects of the beh...
2018-10-31 12:53:00
276
原创 JAVA 文件操作(3)
JAVA 文件操作(3)要求:通过二进制流的操作方式把程序调整为可以实现对任何类型文件进行文件复制(而不是调用windows命令行的内部命令copy)。主要方法:1. createNewFile()Atomically creates a new, empty file named by this abstract pathname if and only if a file wi...
2018-10-30 21:11:36
285
原创 JAVA 文件操作(2)
要求:把程序调整为可以对文本文件按行进行读取,每读取一行后显示此行,并统计此行有多少字节,有多少字符并显示统计结果。最后显示总的行数。程序:import java.io.BufferedReader;import java.io.File;import java.io.FileReader;import java.io.IOException;public class File...
2018-10-29 20:08:54
233
原创 JAVA 文件操作(1)
要求完成一个java application应用程序,判别指定路径下指定文件名的文件是否存在。如果指定文件存在,读取并分别显示其修改时间和文件大小等属性。以文本方式打开某一指定路径指定文件名的文本文件,读取其内容并显示。以文本方式向某一指定路径指定文件名的文本文件写入指定文本内容。方法判断文件是否存在:exits()获取文件名称:getName()获取最后修改...
2018-10-28 20:56:18
268
原创 JAVA 异常捕捉机制(4)
要求完成一个 java application应用程序,通过赋初值或接收用户通过键盘输入的方式为表示用户名和密码的两个String类对象赋值,然后进行判断,如果用户名或密码为null,抛出自定义异常并结束程序;如果输入密码长度小于6个字符,抛出自定义异常并结束程序;如果用户名和密码不等于事先指定的字符串,抛出自定义异常并结束程序;否则输出提示“用登录成功”。思路先创建一个异常类型。可以像下...
2018-10-25 15:34:49
247
原创 JAVA 异常捕捉机制(3)
要求完成一个 java application应用程序,接收用户通过键盘不断输入表示某门课程的成绩的字符串(按回车为一个字符串结束),当输入非法数字(输入值小于0或大于100)时提示成绩输入有误,当输入为非数字的字符串时提示输入格式不合法。思路先创建一个异常类型。可以像下面这样定义自己的异常类:class MyException extends Exception{}使用thr...
2018-10-22 23:09:27
328
原创 JAVA 异常捕捉机制(2)
要求完成一个 java application应用程序,完成一个计算绝对值表达式 |a-b|的功能。要求当b比a大时人为抛出一个自定义异常,在计算绝对值时通过异常捕捉机制完成此绝对值表达式的计算。思路先创建一个异常类型。可以像下面这样定义自己的异常类:class MyException extends Exception{}使用throw抛出异常信息程序import ja...
2018-10-20 16:27:51
255
原创 JAVA 异常捕捉机制(1)---除数为0
要求完成一个 java application应用程序,完成c=a/b 的计算并输出c的结果,可以为a和b在程序中赋初值、或者接收用户通过键盘输入a和b的数值文本后转换为数字等,在程序要求当 b 为0时c的计算结果正确。程序一一. 在程序中给a,b赋初值class ExcDemo_1 { public static void main(String args[]) { //主方法...
2018-10-18 20:48:34
15806
原创 JAVA API学习(四)
要求:完成一个java application应用程序,通过接收用户通过键盘输入的文本,把每次回车输入的字符串动态加入到Vector类对象中,并显示此Vector类对象中存储的字符串。主要方法:vector 是一个集合,简单来说类似数组的功能,不过它是可变长的。程序:import java.util.Scanner;import java.util.Vector;class Ve...
2018-10-07 15:20:52
261
原创 JAVA API学习(三)
要求:完成一个 java application应用程序,输出当前世间:年月日小时分秒星期几。主要方法:new Date(); 表示获取系统当前日期。Date().toString();表示把获取的当前系统日期从日期类型转换成String类型。Calendar.getInstance();获得一个Calendar类型的通用对象,获取本地日历。程序1:import ...
2018-10-07 12:58:08
366
原创 JAVA API学习(二)
要求:完成一个 java application应用程序,计算执行十亿次空循环所需要的时间。主要方法:System.currentTimeMillis() 的作用是返回当前的计算机时间,时间的表达格式为当前计算机时间和GMT时间(格林威治时间)1970年1月1号0时0分0秒所差的毫秒数,数据类型为long。程序:class CountTime { public static voi...
2018-10-06 23:05:15
522
原创 JAVA API学习(一)
要求:完成一个 java application应用程序,可以接收用户通过键盘输入的文本,并输出此段文本字符的个数。主要方法:通过 Scanner 类来获取用户的输入。通过length获取字符串长度。程序:import java.util.Scanner;class CountInput { public static void main(String[] args) {...
2018-10-06 19:45:20
1723
原创 JAVA构造函数(二)----一个简单的面向对象程序
本文对构造方法(函数)给出例子,进一步了解Java面向对象特性要求:完成一个java application 应用程序,描述一个人类。要求如下:要求此人类必须包含有人的姓名、性别、出生日期等基本属性(变量)。要求此人类描述吃饭的方法(函数)和描述睡觉的方法(函数)。例如睡觉方法的执行体为一个 System.out.println() 函数,此函数输出一段例如“ xx(姓名)往床...
2018-10-06 15:32:22
404
原创 JAVA构造函数(一)
上篇博文中有一人从1加到100的java application,这篇文章把循环过程改写到一个函数中,在main()函数中来调用此累加函数并输出计算结果。1.什么是构造函数构造函数是一种特殊的函数。其主要功能是用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。构造函数与类名相同,可重载多个不同的构造函数,JAVA语言中普遍称之为构造方法。**...
2018-09-25 12:19:38
1963
原创 用Eclipse调试Java程序
这篇文章主要介绍如何用Eclipse来调试一个Java程序,用一个例子来说明具体的过程。1.何为断点所谓断点是调试器设置源程序在执行过程中自动进入中断模试的一个标记,当程序运行到断点时,程序中断执行,进入调试状态。程序运行到断点所在代码行时就会断开挂起,该行代码还没有运行,接下来进行手动调试。2.调试过程下面通过一个简单的java application 来说明调试的过程。该程序是一个用于...
2018-09-23 23:15:58
7849
1
原创 MATLAB图形
本文介绍MATLAB的一些绘图操作,内容包括:绘制二维条形图绘制等值线绘制三维图1. 绘制二维条形图用条形图能直观的比较出数据间的大小,比如要表示出一组学生的成绩,条形图就是很好的选择。例如6个学生的成绩分别是66 ,78, 98, 59, 81,76,使用这个数据绘制条形图。在MATLAB中建立一个脚本文件,如下:x = [1:6];y = [66 ,78, 98,59, 8...
2018-09-19 23:41:47
552
原创 MATLAB数据导入(importdata函数)
编写程序时,有时需要从外部读入数据,这里介绍用importdata函数把数据导入MATLAB的方法。1.加载和显示图像文件在MATLAB中建立一个脚本文件,内容如下:filename = 'ming.png';A = importdata(filename);image(A);运行该文件,MATLAB显示出图像文件。**注意:**该图像文件必须保存在当前目录。2. 导入文本文件...
2018-09-19 12:25:22
131520
2
原创 用MATLAB找出1~100的素数
用MATLAB找出1~100的素数MATLAB嵌套循环允许使用一个循环在另一循环内,下面用一个嵌套循环来把所有从1到100的素数显示出来。1. 建立脚本文件,代码如下:for i = 2 : 100 %外层循环,i的初值为2,终值为100 for j = 2:100 %内层循环,j的初值为2,终值为100 if(~mod(i,j)) % i除以j取余后再取反 ...
2018-09-17 22:34:08
44363
4
原创 使用Typora添加数学公式
Typora是一款支持Markdown的编辑器,亲测非常好用。之前发CSDN博客也都是先在Typora上完成,然后直接导入到CSDN。最近在数学公式编辑上遇到了点麻烦,在此总结了常用的公式编辑方法,旨在文章更加的美观规范。1. 打开Typora选择数学模块点击“段落”—&amp;gt;”公式块”快捷键Ctrl+Shift+m“$$”+回车以上三种方式都能打开数学公式的编辑栏,如下: ...
2018-09-16 12:59:47
235260
69
原创 对自由落体位移进行仿真
本文介绍计算机仿真的过程,通过自由落体这一例子具体说明。仿真也称为模拟,在本质上,系统的计算机仿真就是根据物理系统的运行原理建立相应的数学描述并进行计算机数值求解的过程。1.计算机仿真的一般过程:建立计算机程序(层次化的)。执行仿真。对仿真模型和仿真结果的检验。其中仿真验证包含以下方面的内容:对仿真数学模型有效性的验证。对计算机仿真模型(程序)的验证。对仿真算法的验证...
2018-09-15 18:58:32
2135
原创 Traits----为Python添加类型定义
Python作为一种动态编程语言,它的变量没有类型,这种灵活性给快速开发带来很多便利,不过它也不是没有缺点。Traits库的一个很重要的目的就是为了解决这些缺点所带来的问题。1.背景Traits绘图库中有很多绘图用的对象,每个对象都有很多例如线型、颜色、字体之类的属性。为了方便用户使用,每个属性可以允许多种形式的值。例如,颜色属性可以是:`red’0xff0000(255, 0,...
2018-08-01 12:36:29
452
原创 matplotlib----绘制精美的图表
matplotlib是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图。而且也可以方便地将它作为绘图控件,嵌入GUI应用程序中。1. 快速绘图matplotlib的pyplot子库提供了和matlab类似的绘图API,方便用户快速绘制2D图表。让我们先来看一个简单的例子,程序如下: # -*- coding: utf-8 -*-...
2018-07-31 07:46:03
1371
原创 SymPy--符号运算好帮手
SymPy是Python的数学符号计算库,用它可以进行数学公式的符号推导。本文通过SymPy验证欧拉恒等式: eiπ+1=0eiπ+1=0e^{i\pi} + 1 = 0 其中e是自然指数的底,i是虚数单位, π 是圆周率。此公式被誉为数学最奇妙的公式,它将5个基本数学常数用加法、乘法和幂运算联系起来。导入sympy库,对上述公式直接计算: 欧拉恒等式可以下面的公式进行计算:...
2018-07-30 16:51:38
2978
原创 Scipy--数值计算库(二)
1.数值积分数值积分是对定积分的数值求解,例如可以利用数值积分计算某个形状的面积。下面让我们来考虑一下如何计算半径为1的半圆的面积,根据圆的面积公式,其面积应该等于PI/2。单位半圆曲线可以用下面的函数表示:def half_circle(x): return (1-x**2)**0.5下面的程序使用经典的分小矩形计算面积总和的方式,计算出单位半圆的面积: 利用上述方...
2018-07-30 14:57:01
600
原创 SciPy--数值计算库(一)
1. 最小二乘法拟合假设有一组实验数据(x[i], y[i]),我们知道它们之间的函数关系:y = f(x),通过这些已知信息,需要确定函数中的一些参数项。例如,如果f是一个线型函数f(x) = k*x+b,那么参数k和b就是我们需要确定的值。如果将这些参数用 p 表示的话,那么我们就是要找到一组 p 值使得如下公式中的S函数最小: S(P)=∑i=1m[yi−f(xi,P)]2S(P)=∑...
2018-07-29 19:06:17
790
原创 NumPy----快速处理数据(三)
1.矩阵运算NumPy对于多维数组的运算,缺省情况下并不使用矩阵运算,如果你希望对数组进行矩阵运算的话,可以调用相应的函数。1.1 matrix对象numpy库提供了matrix类,使用matrix类创建的是矩阵对象,它们的加减乘除运算缺省采用矩阵方式计算。例如: 因为a是用matrix创建的矩阵对象,因此乘法和幂运算符都变成了矩阵运算,于是上面计算的是矩阵a和其逆矩阵的乘积...
2018-07-29 12:08:38
412
原创 NumPy----快速处理数据(二)
本文介绍ufunc运算,ufunc是universal function的缩写,它是一种能对数组的每个元素进行操作的函数,NumPy内置的许多ufunc函数都是在C语言级别实现的,因此它们的计算速度非常快。1.函数介绍1.1 sin函数下面用一个程序,比较了一下numpy.math和Python标准库的math.sin的计算速度:程序如下,保存到名为test.py的文件中。...
2018-07-29 10:23:42
2257
原创 NumPy----快速处理数据(一)
本文介绍NumPy中的ndarry对象,在练习中都使用以下方式导入NumPy函数库import numpy as np1.创建首先需要创建数组才能对其进行其它操作。我们可以通过给array函数传递Python的序列对象创建数组,如果传递的是多层嵌套的序列,将创建多维数组(下例中的变量c): 数组的元素类型可以通过dtype属性获得。 shape用来查看数组的大小。数组a...
2018-07-28 16:48:35
862
原创 Python(x,y)的下载安装
1.下载下载地址:ftp://ftp.ntua.gr/pub/devel/pythonxy/ 访问该地址,选择需要的版本,点击下载。我安装的版本是2.7.2.3. 2.安装双击下好的应用程序,接下来选择full,全部安装,等待安装完成就行了。安装中途360可能会弹出“有程序正在修改系统变量”之类的,这是Python(x,y)集成了Python的环境,安装的时候会修改系统变量里...
2018-07-27 22:51:45
6264
原创 Python下载与安装
1.简介Python是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python的设计具有很强的可读性,相比其他语言经常使用英文关键字,其他语言的一些标点符号,它具有比其他语言更有特色语法结构。Python 是一种解释型语言: 这意味着开发过程中没有了编译这个环节。类似于PHP和Perl语言。Python 是交互式语言: 这意味着,您可以在一个Python提示符,直...
2018-07-27 16:10:02
37851
原创 MySQL基础学习(四)----基于MySQL的JAVA应用
要求:基于MYSQL实现上次用SQLite实现的郑码查询java程序并改进:使得输入输入aacm,则输出“无可奉告”。而输入一个汉字或汉字词,则输出该字或词的郑码编码。 1.在MySQL数据库中建立郑码表用图形化管理工具Navicat Premium 连接MySQL数据库,在数据库“test”下建立一张名为“zmb”的数据表。 2.代码import java.sql.*; ...
2018-07-19 19:59:11
380
原创 用JSP实现一个查询单词的网页
用JSP实现一个查询单词的网页本文目的:实现一个查询单词的网页,能依据拼写、词性、难度范围等信息查出所需词汇的释义来。网页参照汉典的风格。要求建立大学四级、六级词汇表放到MYSQL数据库中,至少包括:单词、词性、释义、难度(标记是4级的还是6级还是其他)。能依据释义内容,模糊查出对应的单词。实现对单词表中a,b,c到z开头单词个数的统计,结果以表格输出到网页上。1. 在MySQL数据库中建...
2018-07-08 00:07:26
4016
5
原创 通过JSP从网页上上传文件
本文目的:通过JSP实现从网页上传一个文本文件,能显示上传成功,并且点一个按钮能在网页上显示出该文本文件的大小(字节数)。1. 创建JSP文件JSP可以通过HTML的form表单上传文件到服务器。 文件类型可以是文本文件、二进制文件、图像文件等其他任何文档。1)在D:\apache-tomcat-9.0.8\webapps\ROOT(根据你安装的位置)目录中创建文件上传表单“uploa...
2018-06-20 14:36:03
4047
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人