java两周期的正选函数,在 Java 中如何计算双曲正弦,余弦和正切?

Java Math 类分别为双曲正弦,余弦和切线提供了 sinh,cosh 和 tanh 函数。 名称类似于三角函数,只是在末尾添加字母“h”以表示双曲线。

双曲计算基于指数函数,非常简单。

cos x = (e^x + e^-x)/2

sin x = (e^x – e^-x)/2

tan x = sin/cos

还可以使用下面给出的 exp 方法来实现这些功能,而无需使用内置的 sinh,cosh 和 tanh 方法。

/*

* The cosh

*/

//using built-in method cosh

System.out.println("Buil-in cosh method: " + Math.cosh(2) );

System.out.println("Using exp method: " + (Math.exp(2) + Math.exp(-2))/2d );

/*

* The sinh

*/

//using built-in method sinh

System.out.println("Buil-in sinh method: " + Math.sinh(2) );

System.out.println("Using exp method: " + (Math.exp(2) - Math.exp(-2))/2d );

/*

* The tanh

*/

//using built-in method tanh

System.out.println("Buil-in tanh method: " + Math.tanh(2) );

double cosh = (Math.exp(2) + Math.exp(-2))/2d;

double sinh = (Math.exp(2) - Math.exp(-2))/2d;

System.out.println("Using exp method: " + sinh/cosh );

输出:

Buil-in cosh method: 3.7621956910836314

Using exp method: 3.7621956910836314

Buil-in sinh method: 3.626860407847019

Using exp method: 3.626860407847019

Buil-in tanh method: 0.9640275800758169

Using exp method: 0.964027580075817

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ECharts 框选组件(brush)可以通过设置brush.selected属性来获取框选后的选状态。该属性是一个数组,其的每个元素代表一个坐标系(如x轴或y轴)的选状态。每个坐标系的选状态是一个包含起始值和结束值的数组,表示选的范围。 对于反选和正选的判断,可以通过比较选状态和数据源的状态来实现。具体做法是,首先将数据源的状态保存在一个数组,然后将选状态的数据项标记为选状态,未选的数据项标记为未选状态。最后,遍历数据源数组,比较每个数据项的状态和选状态的状态是否一致,如果不一致,则表示该数据项被反选。 以下是一个示例代码片段,展示了如何在ECharts获取框选后的选状态,并判断正选和反选: ```javascript var data = [ {name: 'A', value: 10}, {name: 'B', value: 20}, {name: 'C', value: 30}, {name: 'D', value: 40}, {name: 'E', value: 50}, {name: 'F', value: 60}, {name: 'G', value: 70} ]; option = { xAxis: { type: 'category', data: ['A', 'B', 'C', 'D', 'E', 'F', 'G'] }, yAxis: { type: 'value' }, brush: { toolbox: ['rect', 'clear'], xAxisIndex: 0 }, series: [{ type: 'bar', data: [10, 20, 30, 40, 50, 60, 70] }] }; var selected = []; // 保存选状态的数组 // 监听brushselected事件,获取选状态 myChart.on('brushselected', function(params) { var xAxisIndex = params.batch[0].xAxisIndex; var brushData = params.batch[0].selected[xAxisIndex]; selected[xAxisIndex] = brushData; // 遍历数据源数组,判断正选和反选 for (var i = 0; i < data.length; i++) { var item = data[i]; var value = item.value; var isSelected = false; // 判断该数据项是否被选 if (selected[xAxisIndex]) { for (var j = 0; j < selected[xAxisIndex].length; j++) { var range = selected[xAxisIndex][j]; if (value >= range[0] && value <= range[1]) { isSelected = true; break; } } } // 判断正选和反选 if (isSelected && !item.isSelected) { console.log(item.name + ' is selected'); item.isSelected = true; } else if (!isSelected && item.isSelected) { console.log(item.name + ' is unselected'); item.isSelected = false; } } }); ``` 在上述代码,我们首先创建了一个数组selected,用于保存选状态。然后,在brushselected事件获取选状态,并保存在selected数组。最后,遍历数据源数组,比较每个数据项的状态和选状态的状态是否一致,输出正选和反选的结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值