当前位置:首页 > 数码 >

matlab指数函数怎么打(matlab指数怎么输入)

来源:原点资讯(m.360kss.com)时间:2024-04-21 13:57:36作者:YD166手机阅读>>

注:本篇文章由【开源*客:OpenSoc】公众号首发,现转载至头条号。

FPGA实现加法和减法运算非常简单,实现乘法和除法可以用IP,那实现对数和指数运算该用什么呢?

matlab指数函数怎么打,matlab指数怎么输入(1)

以 e 为底的对数曲线图

用 IP Core?

当然对于对数和指数运算,FPGA 产商也提供有对应的 IP 。

在 Vivado 里面有个叫 floating-point 的 IP ,可以用来实现对数运算,而且还是使用浮点数来进行计算。如果你在 FPGA 内部使用的是定点数,那就需要先将定点数转为浮点数。

实现指数运算,大部分的案例,似乎都是推荐使用 Cordic 这个 IP 来做。当然也可以用这个算法来做对数运算。

虽然这里说对于对数和指数运算,FPGA 也可以用IP,不过大家别觉得有IP 用就简单了。IP 的那些设置,以及 IP 的输入数据等等,也够你忙活半天了。IP Core 功能强大的背后,也是需要付出代价的。

咱们这篇文章来介绍一种快速实现对数和指数运算的方法:基于查找表来实现

在某些项目中,我们并不需要对大量数据进行对数和指数运算,亦或是只需要计算少量数据的对数和指数。

在这种情况下,基于查找表来实现,就显得非常快捷和简便了!

那用查找表的方法怎么来做呢?

比如,计算 1 - 255 这 255 个数据以 e 为底的对数,怎么用查找表的方法来实现呢?

先用 Matlab 将 1-255 所有数据的对数结果都算出来。

x = 1:255;

y = log(x);

可以看到 y 取值如下图:

matlab指数函数怎么打,matlab指数怎么输入(2)

计算的结果是有小数的,FPGA表示小数不方便,为了保证精度,可以先将小数的结果乘上1000,之后再将运算后的值除以1000。。当然如果你对结果的精度要求不高,乘上100也行。

下图是乘上1000之后取整的结果:

matlab指数函数怎么打,matlab指数怎么输入(3)

之后将数据提取出来,使用 ROM 来将这些已经算好的数据存起来。便于ROM使用这些数据,我们可以将这些数据转换相对应的 mif 文件或者 coe文件。

将待求对数的数据当成 ROM 的读地址,ROM 的输出就是对数乘上1000后的结果了,之后再将运算后的结果除上1000。

matlab指数函数怎么打,matlab指数怎么输入(4)

如何将对数的结果值转成 coe 文件或者 mif 文件呢?可以参考如下 Matlab 代码:

% 转成coe文件

close all;

clear all;

clc;

x = 1:255;

y = log(x);

y1 = uint16(y*1000);

% 输出 coe 文件

fid = fopen('./log.coe','w ');

fprintf(fid,'; Copyright (C) 2017-Endless, OpenSoc Studio Corporation\n\n');

fprintf(fid,'memory_initialization_radix = 16;\n');

fprintf(fid,'memory_initialization_vector =\n');

for i = 1 : 255

fprintf(fid,'%d',i-1);

fprintf(fid,':');

fprintf(fid,[dec2hex(y1(i)) ';\r\n']);

end

fprintf(fid,';');

fclose(fid);

关于将对数的结果值转成 mif 文件,大家可参照上述代码自行更改。

关于上述代码,可直接将代码 copy下来放在 Matlab 中运行。

对于用FPGA实现指数运算,也可以采用相同的方法,怎么写代码,就交给大家自己来完成了!

关于使用查找表方式来实现对数运算的方法,希望对大家有所启示。

,

栏目热文

matlab指数函数如何输入(matlab中怎么打出指数符号)

matlab指数函数如何输入(matlab中怎么打出指数符号)

#1斯塔克尔伯格模型在古诺模型和伯特兰德模型里,竞争厂商在市场上的地位是平等的,因而它们的行为是相似的。而且,它们的...

2024-04-21 14:15:33查看全文 >>

matlab打带参数的指数函数(matlab中如何输入指数)

matlab打带参数的指数函数(matlab中如何输入指数)

往往在实际问题中都存在exp(x)、lnx、sinx等多种函数组合的非线性经验公式。对此我们就可以通过lsqnonlin...

2024-04-21 13:57:41查看全文 >>

matlab绘制指数函数和对数函数(matlab绘制对数函数图像)

matlab绘制指数函数和对数函数(matlab绘制对数函数图像)

导读:正文之前,我在此详细说明一下,因为本文包含的程序太难得,网上肯定找不到这样的程序。随着讲课的越来越深入,我给出的程...

2024-04-21 13:56:11查看全文 >>

matlab 指数函数求底数(matlab求任意底数的对数函数值)

matlab 指数函数求底数(matlab求任意底数的对数函数值)

1.1 MATLAB发展历程与主要特点、功能一、Matlab简介 Matlab(Matrix Laboratory)是...

2024-04-21 14:25:10查看全文 >>

matlab指数函数计算公式(matlab中分布函数的计算公式)

matlab指数函数计算公式(matlab中分布函数的计算公式)

一般我们买理财产品,给出来的是年化收益率,但现实中我们买一款产品,不一定是买足一年的,也不知道会在哪个时间退出来。而大家...

2024-04-21 14:06:48查看全文 >>

用excel制作工资表步骤图文

用excel制作工资表步骤图文

每天学习一个小技巧,在家就能长知识。作者:图文设计师东东日常工资表无论是小单位还是大企业都是必备的,每个月工资统计是一件...

2024-04-21 14:22:48查看全文 >>

excel制作工资表目录(excel生成工资表目录)

excel制作工资表目录(excel生成工资表目录)

如下图excel工作簿中含有多个工作表,现在想要为这些工作表批量制作目录。新建一个工作表并命名为目录点击下图选项(Exc...

2024-04-21 14:24:35查看全文 >>

excel表如何制作工资表(excel工资表制作全过程)

excel表如何制作工资表(excel工资表制作全过程)

Excel 快速生成工资条的方法 这篇文章主要介绍了Excel 快速生成工资条的方法的相关资料,这里对生成工资条的具体实...

2024-04-21 14:25:39查看全文 >>

怎么用excel做每月工资表(工资表怎么做excel步骤)

怎么用excel做每月工资表(工资表怎么做excel步骤)

公司员工每月总是期盼着一个特殊的日子---发工资日,那张工资条着实是个诱惑。然而,财务部门要快速地制作工资条也非易事。网...

2024-04-21 14:20:42查看全文 >>

excel表格新手制作工资表(excel中如何制作工资表)

excel表格新手制作工资表(excel中如何制作工资表)

发工资啦!好开心呀!下一秒领导就让你根据工资表给每个员工打印工资条。还在傻傻的一行一行把每个人的工资明细数据行记录上方插...

2024-04-21 13:53:30查看全文 >>

文档排行