欢迎来到皮皮网网首页

【期刊投稿网站源码】【xcb源码下载】【bb直播源码】对数 源码_对数代码

来源:加油充值源码 时间:2024-11-24 09:09:59

1.用JAVA编写的对数对数代码科学计算器源代码
2.Numpy中的通用函数
3.G.711编码原理

对数 源码_对数代码

用JAVA编写的科学计算器源代码

       以下是一个简单的用Java编写的科学计算器的源代码示例:

       java

       import java.util.Scanner;

       public class ScientificCalculator {

       public static void main(String[] args) {

       Scanner scanner = new Scanner(System.in);

       System.out.println("Welcome to the Scientific Calculator!");

       System.out.println("Enter 'add', 'subtract', 'multiply', 'divide', 'sin', 'cos', 'tan', 'log', 'exp', 'sqrt', or 'quit' to exit.");

       while (true) {

       System.out.print("Enter operation (e.g., add 2 3): ");

       String operation = scanner.nextLine();

       if (operation.equalsIgnoreCase("quit")) {

       break;

       }

       String[] parts = operation.split(" ");

       double num1 = Double.parseDouble(parts[1]);

       double num2 = Double.parseDouble(parts[2]);

       switch (parts[0].toLowerCase()) {

       case "add":

       System.out.println(num1 + " + " + num2 + " = " + (num1 + num2));

       break;

       case "subtract":

       System.out.println(num1 + " - " + num2 + " = " + (num1 - num2));

       break;

       case "multiply":

       System.out.println(num1 + " * " + num2 + " = " + (num1 * num2));

       break;

       case "divide":

       if (num2 != 0) {

       System.out.println(num1 + " / " + num2 + " = " + (num1 / num2));

       } else {

       System.out.println("Error: Division by zero is not allowed.");

       }

       break;

       case "sin":

       System.out.println("sin(" + num1 + ") = " + Math.sin(Math.toRadians(num1)));

       break;

       case "cos":

       System.out.println("cos(" + num1 + ") = " + Math.cos(Math.toRadians(num1)));

       break;

       case "tan":

       System.out.println("tan(" + num1 + ") = " + Math.tan(Math.toRadians(num1)));

       break;

       case "log":

       System.out.println("log(" + num1 + ") = " + Math.log(num1));

       break;

       case "exp":

       System.out.println("exp(" + num1 + ") = " + Math.exp(num1));

       break;

       case "sqrt":

       if (num1 >= 0) {

       System.out.println("sqrt(" + num1 + ") = " + Math.sqrt(num1));

       } else {

       System.out.println("Error: Cannot calculate the square root of a negative number.");

       }

       break;

       default:

       System.out.println("Error: Invalid operation.");

       break;

       }

       }

       scanner.close();

       System.out.println("Goodbye!");

       }

       }

       这个科学计算器支持基本的四则运算(加、减、源码乘、对数对数代码除)以及一些科学运算(正弦、源码余弦、对数对数代码正切、源码期刊投稿网站源码对数、对数对数代码指数和平方根)。源码用户可以通过输入相应的对数对数代码操作和两个数字来执行计算。例如,源码输入“add 2 3”将计算2加3的对数对数代码结果。

       代码首先导入了`Scanner`类,源码用于从用户处获取输入。对数对数代码然后,源码在`main`方法中,对数对数代码创建了一个`Scanner`对象,用于读取用户的输入。程序通过一个无限循环来持续接收用户的输入,直到用户输入“quit”为止。

       在循环中,程序首先提示用户输入一个操作,xcb源码下载然后读取用户的输入并将其分割为多个部分。接着,程序将第二个和第三个部分转换为`double`类型的数字,并根据第一个部分(即操作)执行相应的计算。

       程序使用`switch`语句来根据用户输入的操作执行相应的计算。对于基本的四则运算,程序直接执行相应的计算并输出结果。对于科学运算,程序使用了Java的`Math`类中的相应方法。例如,bb直播源码对于正弦运算,程序使用了`Math.sin`方法,并将角度转换为弧度作为参数传递给它。

       如果用户输入了无效的操作或无效

Numpy中的通用函数

       本文将介绍Numpy库中的通用函数,帮助你深入了解Python编程中处理数组的高效方法。让我们从一元函数开始,逐步探讨到二元函数和数组操作。

       ### 常见一元通用函数

       #### abs、fabs

       计算整数、浮点数或复数的lpl名额源码绝对值。

       示例代码:

       输出结果:

       ### sqrt

       计算各元素的平方根。

       示例代码:

       输出结果:

       ### square

       计算各元素的平方。

       示例代码:

       输出结果:

       ### exp

       计算各元素的指数e。

       示例代码:

       输出结果:

       ### log

       计算自然对数、底数为的对数、底数为2的对数、以及log(1+x)。

       示例代码:

       输出结果:

       ### sign

       计算各元素的正负号,1为正数,0为零,潞西源码开发-1为负数。

       示例代码:

       输出结果:

       ### ceil

       计算各元素的上取整值,即大于或等于该值的最小整数。

       示例代码:

       输出结果:

       ### floor

       计算各元素的下取整值,即小于或等于该值的最大整数。

       示例代码:

       输出结果:

       ### rint

       将各元素四舍五入到最接近的整数。

       示例代码:

       输出结果:

       ### modf

       将数组的小数和整数部分以两个独立数组的形式返回。

       示例代码:

       输出结果:

       ### isnan

       返回一个表示哪些值是NaN的布尔型数组。

       示例代码:

       输出结果:

       ### isfinite、isinf

       返回表示哪些元素是有穷的或哪些元素是无穷的布尔型数组。

       示例代码:

       输出结果:

       ### 求三角函数与反三角函数

       #### sin、sinh、cos、cosh、tan、tanh

       普通型和双曲型三角函数。

       示例代码:

       输出结果:

       #### arcos、arccosh、arcsin

       反三角函数。

       示例代码:

       输出结果:

       ### 二维数组方法

       #### add、subtract、multiply、divide、maximum、minimum、mod

       进行数组元素间的加、减、乘、除运算,以及求最大值、最小值和模。

       示例代码:

       输出结果:

       ### 总结

       通过本文的介绍,你已熟悉了Numpy库中的通用函数及其应用。掌握这些函数能够显著提高你的编程效率,处理数组数据更加得心应手。如果你对跨端开发小程序和APP感兴趣,欢迎关注我的公众号“Python私教”了解更多内容。若需获取本文的所有源码,请打赏元并评论“已打赏”。我是大鹏,专注于IT领域的编程知识分享,如有相关需求,欢迎留言或私信我。

G.编码原理

        本文目的:

1、熟悉Ga/u两种格式的基本原理

2、熟悉两种压缩算法的实现步骤及提供源码实现

        G.是国际电信联盟ITU-T定制出来的一套语音压缩标准,它代表了对数PCM(logarithmic pulse-code modulation)抽样标准,是主流的波形声音编解码标准,主要用于电话。

        G. 标准下主要有两种压缩算法。

        G.将bit(uLaw)或者bit(aLaw)采样的PCM数据编码成8bit的数据流,播放的时候在将此8bit的数据还原成bit或者bit进行播放,不同于MPEG这种对于整体或者一段数据进行考虑再进行编解码的做法,G是波形编解码算法,就是一个sample对应一个编码,所以压缩比固定为:

        G.是将语音模拟信号进行一种非线性量化, 详细的资料可以在ITU 上下到相关的spec 。下面主要列出一些性能参数:

        G.(PCM方式)

        算法原理:

        A-law的公式如下,一般采用A=.6

        画出图来则是如下图,用x表示输入的采样值,F(x)表示通过A-law变换后的采样值,y是对F(x)进行量化后的采样值。

        由此可见

        对应反量化公式(即上面函数的反函数):

        G.A输入的是位(S的高位),这种格式是经过特别设计的,便于数字设备进行快速运算。

        A-law如下表计算。

        示例:

        输入pcm数据为,二进制对应为( )

        二进制变换下排列组合方式(0 )

        1、获取符号位最高位为0,取反,s=1

        2、获取强度位,查表,编码制应该是eee=

        3、获取高位样本wxyz=

        4、组合为,逢偶数为取反为,得到E6

        使用在北美和日本,输入的是位,编码算法就是查表,计算出:基础值+平均偏移值

        μ-law的公式如下,μ取值一般为

        相应的μ-law的计算方法如下表

        示例:

        输入pcm数据为

        1、取得范围值,查表得 + to + in intervals of

        2、得到基础值为0xA0

        3、得到间隔数为

        4、得到区间基本值

        5、当前值和区间基本值差异-=

        6、偏移值=/间隔数=/,取整得到

        7、输出为0xA0+=0xAC

        A-law和u-law画在同一个坐标轴中就能发现A-law在低强度信号下,精度要稍微高一些。

        实际应用中,我们确实可以用浮点数计算的方式把F(x)结果计算出来,然后进行量化,但是这样一来计算量会比较大,实际上对于A-law(A=.6时),是采用折线近似的方式来计算的,而μ-law(μ=时)则是段折线近似的方式。

        G尽管是一种非常古老的话音编码算法,原理和计算也比较简单,但是其中用到的一些基本原理同样在其他编码算法中得到了应用,对其进行深入的了解有助于更好的理解其他的算法。