自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (3)
  • 收藏
  • 关注

原创 4.3节 逆波兰计算器——程序理解

/* 时间:2017/8/17 地点:工程北629 功能:逆波兰算法实现计算器 思想:逆波兰算法 、全局变量,局部变量 、栈内存 问题:特别注意:该程序对首先输入负数的情况,有待编写。 理解:自己思考并调试程序。*/#include#include#define MAXOP 100 //全局变量MAXOP,作用范围全局。#define NUMBER '0'in

2017-08-17 09:51:37 535

原创 练习4-1 编写函数strrindex(s,t),它返回字符串t在s中最右边出现的位置。如果s中不包含t,则返回-1。

/* 时间:2017/8/9 地点:工程北629 功能:返回字符串t在s中最右边出现的位置。 思路:getchar() getline() strrindex() main() 思想:*/#include#define MAXLINE 1000 //数组最大值1000int getline(char line[], int max); //函数原型int strr

2017-08-09 17:33:49 6060

原创 例3-2 用振幅为0.8的方波进行傅里叶分析,并用傅里叶分析得到的系数求解当K为不同值时的合成图。

%2017/8/23日 星期三%工程北629%功能:傅里叶分析——方波的合成——吉伯斯现象%思想:由于f(x)是奇函数,所以系数a(k)=0,只有b(k)起作用clear allclose all%输入信号N = 200; %数据点数dt = 4/N; % 采样间隔0.02s N*dt = 200*0.02 = 4秒for n = 1:N %得到方波

2017-08-23 22:51:08 727

原创 例3-1 将振幅为1的1Hz正弦波和振幅为0.5的5Hz正弦波相加后进行傅里叶变换。——傅里叶变换理解

%2017/8/22日 星期二%工程北629%功能:对复杂的信号进行傅里叶分解,得到频谱图。以1sin(2*pi*1*t)和0.5sin(2*pi*5*t)合成的信号为例。%思想:傅里叶变换%说明:振幅的大小是变化的,当N 从128,256,512,1024变化时,其振幅是逐渐增大,采样点数越多,越接近原始振幅。clear allclc%输入信号N = 256; %数据个

2017-08-22 15:51:46 2711

原创 例2-24 将单位阶跃序列u(n)分解为偶分量和奇分量

%2017/8/22日 星期二%工程北629%功能:数字信号的偶奇分解%思想:使用evenodd函数对阶跃信号进行 偶奇分解clear all; clc%输入信号n0 = 0;n1 = -10;n2 = +10;n = [n1:n2]; %序号序列%信号处理x = [(n - n0) >= 0]; %使用表达式生成阶跃信号[xeven,xodd,m] =

2017-08-22 10:32:31 8481 1

原创 例2-23 用一个随机序列模拟中国数字地震台网记录在频率域的振幅。中国数字地震台网的采样间隔是0.02s,运用通带频率是0-5Hz的低通理想滤波器对其进行滤波。数据长度是120s。模拟一下。

%2017/8/21日%工程北629%功能:信号相乘:低通滤波,采用通带:0-5Hz的低通滤波器对原始信号的振幅谱进行滤波。%思想:使用一个滤波的例子,说明信号相乘。 信号点乘:sigmult函数clear all; clc;%输入信号dt = 0.02; %采样间隔0.02sdf = 1/(6000*dt); %信号长度为120秒的信号频率分辨率

2017-08-21 21:59:42 569

原创 例2-22 正弦信号的微分运算和积分运算

%2017/8/21日 星期一%工程北629%功能:数字信号 微分 积分%思想:diff函数 cumsum函数或cumtrapz函数%注意:这里直接使用t作为横坐标,没有使用nclear all; clc%输入信号dt = 0.01; %采样间隔 t = 0: dt: 4*pi; %时间序列, 4*pi=12.5664%信号处理y1 = sin

2017-08-21 21:11:00 7922

原创 例2-21 将频率为1Hz和10Hz、振幅为1和0.2的正弦信号叠加。

%2017/8/20日%工程北629%功能:数字信号相加%思想:对应的序号序列进行相加clear all; clc%输入信号dt = 0.01; %采样间隔必须满足这两个信号对应的采样定理fs >= 2fcf1 = 1; %1Hzf2 = 10; %10Hzn = 0:300; %两个信号的序号序列t = n * dt; %两个信号的时间

2017-08-20 18:42:12 8893 2

原创 例2-20 将-100~100的序号序列给出的正弦信号压缩、扩展2倍并与元信号进行比较,时间间隔是0.3s

%2017/8/20日%工程北629%功能:数字信号的扩展和压缩%思想:使用公式 y(t) = x(at)%说明:%输入信号n = -100:100; %序号序列 n:-100、-99、...0...99、100dt = 0.3; %时间间隔0.3s t = n*dt; %时间序列 t:-30、-29.7、...0.

2017-08-20 11:59:42 511

原创 例2-19 用自-10~10的序号序列,给出离散序列e^-n的折叠信号,并绘图进行比较

%2017/8/20日%工程北629%功能:信号折叠 e^(-n)%思想:数字信号的处理:是以序列进行的。 特别注意:一是序号序列、二是值序列%说明:plot函数和stem函数中,前者是绘制连续图,后者是绘制离散点图clear all; clc%输入信号n = -10:10; %序号序列%信号处理x = exp(-n); %原始信号值序列[y,n] = si

2017-08-20 11:44:16 543

原创 例2-18 产生一个从2Hz增加到10Hz的啁啾信号(扫频余弦信号),并将其推迟500个采样周期。

%2017/8/20日%工程北629%功能:产生啁啾信号2Hz——10Hz,并将其推迟500个采样间隔。 注意::::这是产生的扫频余弦信号(调频余弦信号)%思想:1、使用matlab的工具函数(chirp函数)。 2、编写函数sigshift()%说明:chirp函数的使用说明请参考:相关matlab常用函数资料clear all; clc %输入信号t = 0 : 0.00

2017-08-20 10:57:30 2476

原创 练习1-10 编写一个将输入复制到输出的的程序,并将其中的制表符替换成\t,把回退符替换成\b,把反斜杠\替换成\\,这样可以将制表符和回退符以可见的方式显示出来。

/* 时间:2017/8/2 地点:工程北629 功能:将制表符、单个反斜杠、回退符,以可见的方式显示出来 思想:使用标志位。使用getchar、putchar函数 说明:关于回退符的输入,还没有更好的方法?*/#include int main(){ int c, d; while ( (c=getchar()) != EOF) {

2017-08-17 18:41:31 2064 2

原创 练习1-9 编写一个将输入复制到输出的程序,并将其中多个连续的空格用一个空格代替。

/* 时间:2017/8/2 地点:工程北629 功能:将输入复制到输出,多个空格合并成一个空格 思想:将空格设置成标志位,判断是否在空格中,决定是否输出 说明:参考课本《The C Programming Language》以及相关答案。*/#includeint main(void) //方法一{ int c; int inspace; //设置inspac

2017-08-17 17:27:47 2635

原创 练习1-8 编写一个统计空格、制表符与换行符个数的程序

/* 时间:2017/8/2 地点:工程北629 功能:统计空格、制表符、行数 思想:计算机输入的一般是:数字,字符,空白符,特殊符号 使用系统函数getchar*/#includeint main(){ int blanks, tabs, newlines; //行数用\n的个数统计,且注意特殊的情况(以EOF结束的情况) int c; int done =

2017-08-17 11:25:12 1454

原创 练习1-7 编写一个打印打印EOF值的程序

/* 时间:2017/8/2 地点:工程北629 功能:打印EOF的值 思想:使用printf函数 注意EOF的输入方式是: Ctrl + Z*/#includeint main(void){ int c; printf("请输入字符:\n"); c = (getchar() != EOF); //getchar函数位于标准头文件#inclu

2017-08-17 10:54:00 5951 3

原创 练习1-6 验证表达式getchar()!=EOF的值是0还是1

/* 时间:2017/8/2 地点:工程北629 功能:验证表达式 getchar() != EOF 的值是0还是1 思想:将getchar() != EOF作为一个表达式赋值给一个变量,然后从键盘输入相应字符。 注意EOF的输入方式是: Ctrl + Z*/#includeint main(void){ int c; printf("请输入字符:\n")

2017-08-17 10:52:02 5184

原创 练习1-5 修改温度转换程序,要求以逆序(从300度到0度的顺序)打印温度转换表

/* 时间:2017/8/1 地点:工程北629 功能:逆序打印输出温度转换程序℃ = (5/9)*(℉-32) 思想:根据温度转换公式,定义变量,编写程序。*/#include#define LOWER 0 //宏定义最低温度#define UPPER 300 //宏定义最高温度#define STEP 10 //宏定义步长int main(void){ flo

2017-08-16 14:08:10 1003

原创 练习1-4 编写一个程序打印摄氏温度转换成相应华氏温度的转换表

/* 时间:2017/8/1 地点:工程北629 功能:摄氏温度转换成华氏温度。函数式 ℉ = (9/5)*℃ +32 思想:按照数学公式,定义相关变量,进行公式运算。*/#includeint main(void){ float celsius, fahr; //定义℃、℉ int lower, upper, step; //定义最低温度、最高温度、温度增

2017-08-16 13:37:58 5744

原创 练习1-3 修改温度转换程序,使之能在转换表的顶部打印一个标题。

/* 时间:2017/8/1 地点:工程北629 功能:printf函数的使用 思想:在while前面增加printf函数,注意使用制表符\t,使得输出格式更好*/#includeint main(void){ float fahr, celsius; //定义华氏温度、摄氏温度 int lower, upper, step; //定义最低温度、最高温度、温

2017-08-16 13:04:32 1526

原创 练习1-2 做个实验,当printf函数的参数字符串中包含\c(其中c是上面的转义字符未曾列出的某一个字符)时,观察一下输出

/* 时间:2017/8/1 地点:工程北629 功能:测试 字符的含义 思想:单独运行一句,进行测试 环境:Windows8.1、64位、Microsoft Visual C++6.0 SP6*/#includeint main(void){/* printf("\..."); 一般会输出\后面的内容,但是也有例外 */ /* printf("/...");

2017-08-14 23:15:46 1159 2

原创 练习1-1 在你自己的程序中运行“hello,world”程序。再有意去掉部分内容,看看会得到什么错误信息。

/* 时间:2017/8/1 地点:工程北629 功能:测试程序错误情况 思想:*/#includeint main(void){ printf("hello,world\n"); return 0;}/* 在Vc++6.0中的输出结果是:----------------------------1、去掉#include时,程序报错:printf函数未定义

2017-08-14 21:05:46 568

原创 练习4-2 对atof函数进行扩充,使它可以处理形如123.456e-6的科学表示法,其中,浮点数后面可能会紧跟一个e或E以及一个指数(可能有正负号)

/* 时间:2017/8/10 地点:工程北629 功能:科学表示法的显示 思想:函数的设计{getline()、atof()、main()}*/#include #include #define MAXLINE 1000int getline(char s[],int lim); //函数原型double atof(char s[]);/*主函数*/int ma

2017-08-10 13:41:59 2061

原创 shell算法的使用

/* 时间:2017/8/8 地点:工程北629 功能:排序 思想:shell排序算法*/#includevoid shellsort(int v[], int n) //shell排序算法,将v[]按照升序排列{ int gap, i, j, temp; for(gap = n/2; gap > 0; gap /= 2) //完成大循环 { for(i =

2017-08-08 22:29:39 366

DFT算法,基于公式编写的DFT算法

基于DFT原始公式的编写,能够实现DFT最原始的计算,最基本的公式编写

2018-12-15

基于隐马尔可夫模型的语音识别算法

详细描述了基于隐马尔可夫模型的语音识别算法,具有较高的识别率

2017-06-20

自适应滤波算法

LMS算法matlab实现

2016-11-02

空空如也

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

TA关注的人

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