怎么计算simulink中sine wave产生的频率

怎么计算simulink中sine wave产生的频率,第1张

Samples per period是每个sine函数周期内采样的个数。
sample time是采样的时间。
楼主设定的sample time是1s,Samples per period设定的是5,也就是说一个正弦波周期是5s。得出的频率是02hz,角速度是12566。freq这个值指的不是f类似于我们学的w角速度。你出现的问题估计是你打错了,我用simulink仿真出来的是对的。

溶剂效应频率计算出现如下错误:
Using symmetry in molecular cavity generation
输入文件是:
# b3lyp/6-31g(d) freq scrf=(solvent=chloroform,read,pcm) testname0 1坐标ALPHA=121TSNUM=70输出文件是:
Polarizable Continuum Model (PCM)
Model :PCM
Atomic radii :UA0 (Simple United Atom Topological Model)
Polarization charges :Total charges
Charge compensation :None
Solution method :Matrix inversion
Cavity :GePol (RMin=0200 OFac=0890)
Default sphere list used,NSphG= 40
Polyhedra with approx70 initial tesserae
1st derivatives :Analytical VU(x)V algorithm (CHGder,D1EAlg=0)
Cavity 1st derivative terms included
2nd derivatives :U-function 2nd derivative terms included
Solvent :Chloroform,Eps= 4900000

它研究如何用科学的方法去搜集、整理、分析经济和社会发展的实际数据,并通过统计所特有的统计指标和指标体系,表明所研究的社会经济现象的规模、水平、速度、比例和效益,以反映社会经济现象发展规律在一定时间、地点、条件下的作用,描述社会经济现象数量之间的关系和变动规律,也是进一步学习其他相关学科的基础。
描述内容
主要包括平均指标和变异指标的计算、资料分布形态(或特征)的图形表现等。
统计功能指标计算
描述性统计指标的计算可以用四个不同的过程来实现,它们分别是means过程、summary过程、univariate过程以及tabulate过程。它们在功能范围和具体的 *** 作方法上存在一定的差别,下面我们大概了解一下它们的异同点。
相同点:
他们均可计算出均数、标准差、方差、标准误、总和、加权值的总和、最大值、最小值、全距、校正的和未校正的离差平方和、变异系数、样本分布位置的t检验统计量、遗漏数据和有效数据个数等,均可应用by语句将样本分割为若干个更小的样本,以便分别进行分析。不同点:
(1)means过程、summary过程、univariate过程可以计算样本的偏度(skewness)和峰度(kurtosis),而tabulate过程不计算这些统计量;
(2)univariate过程可以计算出样本的众数(mode),其它三个过程不计算众数;
(3)summary过程执行后不会自动给出分析的结果,须引用output语句和print过程来显示分析结果,而其它三个过程则会自动显示分析的结果;
(4)univariate过程具有统计制图的功能,其它三个过程则没有;
(5)tabulate过程不产生输出资料文件(存储各种输出数据的文件),其它三个均产生输出资料文件。
以上是它们的主要异同点,其它更为具体的异同点需要在实际应用中去体会。掌握了各种过程的异同点,就可以根据具体需要选择最佳的过程进行工作。
统计制图
统计制图的过程均可以实现对样本分布特征的图形表示,一般情况下可以使用的有chart过程、plot过程、gchart过程和gplot过程。大家有没有发现前两个和后两个只有一个字母‘g’(代表graph)的差别,其实它们之间(只差一个字母g的过程之间)的统计描述功能是相同的,区别仅在于绘制出的图形的复杂和美观程度。
chart过程和plot过程绘制的图形类似于我们用文本字符堆积起来的图形,只能概括地反映出资料分布的大体形状,实际上这两个过程绘制的图形并不能称之为图形,因为他根本就没有涉及一般意义上图形的任何一种元素(如颜色、分辨率等)。
而gchart过程和gplot过程给出的是真正意义上的图形,可以用很多的语句和选项来控制图形的各方面的性质和特征。
chart和gchart与plot和gplot的区别则体现在不同的作图功能,前两个过程可以绘制出的图形主要有条形图(包括横条和竖条)、圆图、环形图和星形图等,后两个过程通常用一个记录中的两个变量值表示点的坐标来绘制图形,如散点图和线图等。
一般格式过程
proc means 选项列表;
by 变量名称(分组变量);
class 变量名称(分组变量);
freq变量名称(数值变量,用以表示相应记录出现的频数)
var 变量名称(待分析的数值变量);
run;
Proc means
语句后的选项主要用来指定所要计算的统计量,默认情况下,Means过程会给出频数、均数、标准差、最大值和最小值等,其余统计量的计算均需要在选项中指定。class语句所指定的分组变量用来进行分组,而by语句所指定的分组变量是用来将数据分为若干个更小的样本,以便SAS分别在各小样本内进行各自独立的处理。freq语句和weight语句分别引导代表记录出现频数和权重系数的数值变量。var语句引导所要进行分析的所有变量的列表,SAS将对var语句所引导的所有变量分别进行描述性统计分析。
summary
proc summary 选项列表;
by 变量名称(分组变量);
class 变量名称(分组变量);
freq变量名称(数值变量,用以表示相应记录出现的频数)
output 统计量关键字=自定义变量名
var 变量名称(待分析的数值变量);
run;
summary过程的格式和means过程可以说是完全相同的,各条语句和选项的含义也是相同的,包括在means过程中未列出的output语句也可以应用于means过程,只是此语句在summary过程应用较多(这样才能将分析结果显示出来),所以才将其列入一般格式中。output语句用来对分析结果输出为数据文件进行控制,其后的选项可有可无,若无则SAS按照默认方式进行。“out=数据集名”用来定义输出数据文件的文件名称,文件名的格式和数据步中数据文件名相同。“统计量关键字=自定义变量名”用来自定义输出数据文件中各种统计量的变量名称,前者是系统定义的(和proc语句后选项中的统计量关键字完全相同),必须正确无误,后者可自行定义。默认状态下输出统计量只有频数、均数、标准差、最大值和最小值,在默认状态不能满足需要时这一选项则是必需的。
univariate
proc univariate 选项列表;
by 变量名称(分组变量);
class 变量名称(分组变量);
freq变量名称(数值变量,用以表示相应记录出现的频数)
weight变量名称(数值变量,用以表示相应记录的权重系数)
histogram 变量名称/选项列表
var 变量名称(待分析的数值变量);
run;
univariate过程和以上两个过程的格式非常相似,相同的语句和选项其含义也相同,所不同的是某些统计量只能在univariate过程中计算(如众数),以及univariate过程中所具有的绘图功能。histogram语句即用来指示SAS对其后所指定的变量绘制直方图,其后的选项用来指示SAS添加不同类型的拟合图形(如正态分布的分布密度曲线)。
tabulate
proc tabulate 选项列表;
by 变量名称(分组变量);
class 变量名称(分组变量);
freq变量名称(数值变量,用以表示相应记录出现的频数)
页变量表达式 , 行变量表达式 , 列变量表达式
var 变量名称(待分析的数值变量,统计量列入相应的表单元格);
run;
tabulate过程和上述几个过程的格式也基本相似,相同的语句和选项也代表相同的含义。最大的不同也是tabulate过程中最为重要的是table语句,他用来定义表格的具体格式以及表格中所要包括的统计量。
gchart
proc gchart 选项列表;
图形关键词 变量名称/选项列表
run;
此过程格式简单,复杂的地方在于图形关键字(每个图形关键字对应一种图形类型)所引导的语句,这里是控制图形类型及图形要素的地方,涉及到众多的关键字和选项。gchart过程可以使用的图形关键字及其所绘制的图形类型见下表(表21)。
表21 gchart过程可以使用的图形关键字及其所绘制的图形类型
图形关键字
绘制的图形类型
图形关键字
绘制的图形类型
block
方块图
pie
圆图
hbar
水平的条形图
pie3d
三维圆图
hbar3d
水平的三维条形图
donut
环形图
vbar
竖立的条形图
star
星形图
vbar3d
竖立的三维条形图
图形关键字后的变量名用以指定进行图形描述时的分组变量,可以是数值型的(此时以各组的组中值为分组的标志),也可以是字符型的。其后的选项比较重要的有:
(1)type=统计量关键字,表示以图形对变量(sumvar所指定的变量)的哪一种统计量进行描述,比如频数(freq)、均数(mean)、总计(sum)、频数百分比(pctn)等;
(2)subgroup=变量名(分组变量),指定要进行分组(各组段内再分组)的变量;
(3)sumvar=变量名(数值变量),指定要进行统计计算的变量,也就是“type=统计量关键字”选项中统 计量的计算所依据的变量。其它的选项较少用到或系统默认值即可基本满足要求,这里还是少啰嗦,以后用到再说。
gplot
proc gplot 选项列表;
bubble 散点图表达式
bubble2 散点图表达式
plot散点图表达式
plot2散点图表达式
run;
从gplot过程的一般格式中我们就可看出,此过程只能绘制两种类型的图形,bubble语句指示SAS绘制泡状散点图,plot语句指示SAS绘制点状散点图。bubble2语句和plot2语句指示SAS在同一区域内(bubble2和bubble在同一区域,plot2和plot在同一区域)绘制第二个图形,两者的横坐标相同(同一变量),纵坐标分别位于左右两侧(可以是同一变量,也可以是两个不同的变量)。
散点图表达式的一般形式为:
(1)bubble和bubble2语句:纵坐标变量名横坐标变量名=泡尺寸变量名(变量值以泡的大小表示),三者均应为数值变量;
(2)plot和plot2语句:纵坐标变量名横坐标变量名 =n ,此处等号及其后的部分可以省略,此时SAS以默认的散点类型绘制散点图;若等号后为n(n为正整数,是散点类型的编号),SAS则以指定的编号对应的散点类型绘制散点图;若等号后为分类变量名(可为字符型或数值型,为数值型时作为离散型变量处理,每一个值将被当作一个类别),此变量的具体值(或与每个具体值对应的图形)将被作为散点用来绘制散点图。
chart过程和plot过程的一般格式及各选项使用方法分别与gchart过程和gplot过程是基本相同的,不同之处仅在于后两者中涉及到有关三维和图形元素(颜色等)的语句和选项在前两者中是无效的。例如vbar3d语句在chart过程中无效,bubble语句在plot过程中无效。其余的语句和选项使用方法完全相同,所以在掌握了gchart过程和gplot过程后,chart过程和plot过程你会不学自通。

思路示意:
char word[1000][20] ={0}; //统计1000个单词,每个单词20字节长
int wordcount=0;
int wordfreq[1000]= {0}; //每个单词的词频
char line[1000]; //每行最多1000个字母
int wordstart,wordend,ii;
FILE fp = fopen(文本文件)
while(!feof(fp))
{
scanf(fp,"%s",line); //读取一行
wordstart=0;
for(wordend=wordstart;wordstart<strlen(line) && wordend<strlen(line);wordend++) //查找空格,切分单词
{
if (line[wordend]==' ')
{
line[wordend]=0x00;
for(ii=0; ii<wordcount; ii++) //查找单词是否在word队列中
{
if (!strcmp(word[ii], line[wordstart]) //单词已经存在
{
wordfreq[ii] ++;
break;
}
}
if (ii>=wordcount) //单词不存在
{
strcpy(word[wordcount], line[wordstart], strlen(line[wordstart]);
wordcount++;
}
wordstart = wordend + 1;
}
}
if (wordstart<strlen(line)) //此行最后一个单词
{
line[wordend]=0x00;
for(ii=0; ii<wordcount; ii++) //查找单词是否在word队列中
{
if (!strcmp(word[ii], line[wordstart]) //单词已经存在
{
wordfreq[ii] ++;
break;
}
}
if (ii>=wordcount) //单词不存在
{
strcpy(word[wordcount], line[wordstart], strlen(line[wordstart]);
wordcount++;
}
wordstart = wordend + 1;
}
}

}
fclose(fp);
//此时,word队列中保存了读取的所有单词,wordfreq队列中保存了相应的词频。
//使用排序算法进行排序(代码可以在网上搜)
for(ii=0; ii<wordcount; ii++)
printf(" %s -> %d\n", word[ii], wordfreq[ii]);
return 0;

linuxptp中输出的打印主要由 clock_stats_display 完成。
该函数的执行频率为每2^(-logSyncItv)次同步执行一次,相当于1秒1次。

Linuxptp中计算freq adjust默认使用的函数是 pi_sample 。

它接收这几个参数:

其输出值的单位为ppb(parts per billion,即10^-9)。
比如,log中freq的值为 -50000,意思就是将slave的freq调整了-0005%。

freq adjust主要的计算思路是(offset2 - offset1) / (local_ts2 - local_ts1)。

其他涉及到PID控制的部分就不多解释了,保持文章的简单易读。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12999973.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-29
下一篇 2023-05-29

发表评论

登录后才能评论

评论列表(0条)

保存