如何在Matlab中运用余弦函数

本文已影响1.01W人 

如何在Matlab中运用余弦函数,Matlab是一款常用的数据处理科学软件,它在日常工作中,教学科研,图像处理,金融数据分析等等领域均有广泛的应用,那么如何在Matlab中运用余弦函数?

如何在Matlab中运用余弦函数1

首先我们需要打开Matlab软件(可通过桌面快捷方式或者开始菜单软件启动按钮,或者软件安装文件夹的软件启动按钮打开Matlab软件)

如何在Matlab中运用余弦函数

Matlab软件打开后的界面如下图所示,软件界面包括导航栏,命令栏,变量显示栏等,软件上部的菜单中包含丰富的命令,我们将在接下来的步骤中用到其中的`部分命令。

如何在Matlab中运用余弦函数 第2张

在Matlab软件的导航栏右击鼠标,选择“new file”,“script”,从而新建的一个新的Matlab脚本文件,具体操作如图所示。

如何在Matlab中运用余弦函数 第3张

通过双击新建的Matlab脚本文件,从而打开“script”,进而可以编辑Matlab脚本文件进而将相关代码写入脚本文件。

如何在Matlab中运用余弦函数 第4张

打开脚本文件后,我们可以往脚本文件中写入如下命令:

x=1:0.01:10;

y=cos(x);

如图所示,我们可以通过点击Matlab软件的菜单栏上的“run”按钮从而实现运行刚才所写入脚本文件的代码。

如何在Matlab中运用余弦函数 第5张

我们也可以在command窗口展示运行结果,注意,用以显示结果的那行代码尾部不能有分号。

如何在Matlab中运用余弦函数 第6张

如何在Matlab中运用余弦函数2

如何用matlab产生正弦表数据

这里说明两种方式:

(一)这个方法只在matlab中生成数据表,需要自己手动的

往mif文件中添加数据

1.假设用到的DA芯片为14为,则2^14=16384

2.一个完整的正弦波为0-2pi

3.正弦波ROM的深度为4096(地址总数)

4.由于FPGA中不识别负数,加入一个直流分量,加8192

则用matlab产生正弦表的'函数为:

Y=ceil((16384/2-1)*sin(0:pi*2/4096:2*pi)+8192)

其中ceil函数描述如下:

ceil(x) : 大于x 的最小整数

>> ceil( [3.12 -3.12])ans =4 -3

如何在Matlab中运用余弦函数 第7张

(二)可以直接生成mif文件

直接生成mif文件

depth = 4096;width =14;x=ceil(16384/2*sin(0:pi*2/4096:2*pi)+8192)

fid = fopen('d:','w');

fprintf(fid,'depth= %d ;

',depth);

fprintf(fid,'width= %d ;

',width);

fprintf(fid,'address_radix=uns;

');

fprintf(fid,'data_radix = uns;

');

fprintf(fid,'Content Begin

');

for(k=1:depth)

fprintf(fid,'%d: %d ;

',k-1,x(k));endfprintf(fid,'end;');

用上面这段程序最大值会出现16384,在Quartus II中会认为是超出数据

范围,所以需要手动的改写为16383.------

----把x=ceil(16384/2*sin(0:pi*2/4096:2*pi)+8192) 改写为下面语句

x=ceil((16384/2-1)*sin(0:pi*2/4096:2*pi)+8192) 就不存在上述问题了

数据量小的话,可以用第一种方法,要是数据量大的话,介意用第二种方法。

如何在Matlab中运用余弦函数3

方法/步骤

打开matlab在app中找到curve fitting拟合工具箱,打开它

如何在Matlab中运用余弦函数 第8张

在命令窗口输入你的原始数据,例如x=1:1:100;y=x;

我们需要通过拟合工具箱来拟合出y=x这个方程得两个参数a,b

在拟合工具箱的页面左边栏把原始数据放进去,查看拟合结果,在如图所示箭头区域,可以选择拟合的'函数,最基本的一阶函数,正弦函数

如何在Matlab中运用余弦函数 第9张

运用拟合函数拟合最基本的是polyfit,

程序如此:

x=1:1:100;

y=x;

m=polyfit(x,y,1);

如何在Matlab中运用余弦函数 第10张

结果输出两个值,用polyfit函数时用法为

[a,b]=polyfit(x,y,n)其中a,b是直线方程y=a*x+b中的a,b两个参数

x,y是原始数据,n为拟合的阶数,

在matlab拟合函数中还有lsqcurvefit等,需要在matlab官网上寻找并看他的用法,我推荐是有matlab的固有拟合工具箱,在拟合一些比较复杂的函数时,用拟合函数时,参数必须有初始向量,只有禁言丰富的人才可以确定,所以一般建议使用拟合工具箱,简单函数可以使用拟合函数

相关内容

热门精选