cwt函数用c语言转化 c++ 转换函数

我想用多贝西小波对有奇异点的信号进行分析,然后提取奇异点发生的时间点信息,用C语言怎么写

(1)小波模极大值重构 MATLAB代码_天天向上_新浪博客

创新互联主要从事成都做网站、网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务七星关区,十年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:13518219792

function

[signal,swa,swd,ddw,wpeak]=wave_peak(points,level,Lo_D,Hi_D,Lo_R,Hi_R,offset)

%

该函数用于读取ecg信号,找到小波变换模极大序列

warning off;

ecgdata=load('ecg.txt');

%需要分析的信号,自己加

plot(ecgdata(1:points)),grid on,axis

tight,axis([1,points,-50,300]);

signal=ecgdata(1:points)'+offset;

% 信号的小波变换,按级给出概貌和细节的波形

[swa,swd] =

swt(signal,level,Lo_D,Hi_D);

figure;

subplot(level,1,1);

plot(real(signal)); grid on;axis tight;

for i=1:level

subplot(level+1,2,2*(i)+1);

plot(swa(i,:)); axis

tight;grid on;xlabel('time');

ylabel(strcat('a

',num2str(i)));

subplot(level+1,2,2*(i)+2);

plot(swd(i,:)); axis

tight;grid on;

ylabel(strcat('d ',num2str(i)));

end

%求小波变换的模极大值及其位置

ddw=zeros(size(swd));

pddw=ddw;

nddw=ddw;

posw=swd.*(swd0);

pdw=((posw(:,1:points-1)-posw(:,2:points))0);

pddw(:,2:points-1)=((pdw(:,1:points-2)-pdw(:,2:points-1))0);

negw=swd.*(swd0);

ndw=((negw(:,1:points-1)-negw(:,2:points))0);

nddw(:,2:points-1)=((ndw(:,1:points-2)-ndw(:,2:points-1))0);

ddw=pddw|nddw;

ddw(:,1)=1;

ddw(:,points)=1;

wpeak=ddw.*swd;

wpeak(:,1)=wpeak(:,1)+1e-10;

wpeak(:,points)=wpeak(:,points)+1e-10;

%按级给出小波变换模极大的波形

figure;

for i=1:level

subplot(level,1,i);

plot(wpeak(i,:)); axis tight;grid

on;

ylabel(strcat('j= ',num2str(i)));

end

注:运行此程序时一定要将待处理信号添加进去,程序中的红色部分。

追问:

ecgdata=load('ecg.txt');

c语言中如何将字符串转化成整数型并输出?

c语言中,可以使用atoi()函数将字符串转化成整数型并输出。

atoi (表示 ascii to integer)是把字符串转换成整型数的一个函数,应用在计算机程序和办公软件中。int atoi(const char *nptr) 函数会扫描参数 nptr字符串,会跳过前面的空白字符(例如空格,tab缩进)等。

如果 nptr不能转换成 int 或者 nptr为空字符串,那么将返回 0 。特别注意,该函数要求被转换的字符串是按十进制数理解的。atoi输入的字符串对应数字存在大小限制(与int类型大小有关),若其过大可能报错-1。

扩展资料:

C语言常用函数:

1、int abs(int i)

返回整型参数i的绝对值。

2、double cabs(struct complex znum)

返回复数znum的绝对值。

3、double fabs(double x)

返回双精度参数x的绝对值。

4、long labs(long n)

返回长整型参数n的绝对值。

5、double exp(double x)

返回指数函数ex的值。

6、double frexp(double value,int *eptr)

返回value=x*2n中x的值,n存贮在eptr中。

7、double ldexp(double value,int exp)

返回value*2exp的值。

8、double log(double x)

返回logex的值。

9、double log10(double x)

返回log10x的值。

10、double pow(double x,double y)

返回x^y的值。

参考资料来源:百度百科-atoi

一维连续小波变换cwt调用方式

(1)coefs=cwt(s,scales,‘wname’)

(2)coefs=cwt(s,scales,‘wname’,‘plot’)

说明:该函数为一维连续小波分析函数,其中coefs为连续小波变换后的返回系数Wf(a,b)矩阵,系数以行方向存储在矩阵中。

[例6-14]对MATLAB中所带有的noissin信号进行连续小波变换,尺度a分别为0.12,0.24,0.48,1.2,2,4,6,8,10,小波函数用db3,请求出连续小波变换后的系数。程序:

load noissin;%装载信号

s=noissin(1:100)

ls=length(s);%计算信号点的个数ls

%对s进行一维连续小波变换,把返回系数存到矩阵w中

w=cwt(s,[12.12,10.24,15.48,1.2,2:2:10],‘db3’,‘plot’)

Xlabel(‘时间’);

Ylabel(‘变换尺度’);

Title(‘对应于尺度a=0.12,0.24…小波变换系数的绝对值’);

执行程序后,返回矩阵为一个9×1000矩阵。在此为节省篇幅,我们不将结果打印出来,读者可自己上机运行该程序观察结果。

图6-41 一维离散小波变换dwt

C语言中用switch函数转换一个字符串数据怎么用

1、switch函数只能对整数类型的变量进行枚举,而字符串类型不属于整型变量。因此,必须对字符串进行转化。根据不同的字符串比较结果,执行不同的操作。

2、例程:

假如有这几个固定的字符串"string1","string2",..."stringn",可以做这种变换:

char str[100]="..."//假设已经赋值了

int i=0;

char str1[]="string1",str2[]="string2",str3[]="string3";//可以任意设

if(strcmp(str,str1)==0)//比较,如果str数组中存的刚好是字符串string1,下面同理,

i=1;

else if(strcmp(str,str2)==0)

i=2;

else if(strcmp(str,str3)==0)

i=3;

else 

i=4;

//这样就映射出来了,用i的值,来映射不同的str

switch(i)

{

case 1:

...

break;

case 2:

...

break;

case 3:

...

break;

case 4:

...

break;

dafault:

....

break;

}


文章标题:cwt函数用c语言转化 c++ 转换函数
文章路径:http://azwzsj.com/article/dddcejs.html