标签: calculation

浮点数不准确会导致计算错误

我的代码解决二次方程(在游戏逻辑滴答中)来解决任务 - 找到沿着空间中可移动物体轨道的卫星刻度线偏移.我在判别(更远D)的计算中遇到了错误.我会提醒:D = b^2 - 4ac.因为它是大对象的轨道,我a,b&c是订单的数量,如:

1E+8 1E+12 1E+16

因此,b^2是关于订单的数量1E+24,4ac也是约1E+24.但是这个方程根数要少得多,因为它们只是场景上的坐标.所以根本就是1E+3 ... 1E+4.

问题(更新-具体化):因为浮浮(双打)的值的b^24ac有误差,这是足够小(相对于这些非常大的数字[测得的绝对误差大约有秩序1E+18]),但作为D==的区别其中,所以当D(从较大的值侧)到所述不准确度为(1E+18)的顺序值时,其值在范围内开始波动+1E+18 .. -1E+18(即波动范围大于实际的[-100%.. + 100%]值!

显然,这种波动会导致错误(甚至是错误的定向)嘀嗒声.我的卫星开始摇晃(这很糟糕)).

注意:当我说"何时D接近零"实际上D仍然远离零时,所以我不能只在这个值范围内将它分配给zerro.

我考虑过使用定点计算(这可以帮助我解决问题).但是,建议不要在刻度逻辑中使用(因为它们的优化程度要低得多,而且可能会非常慢).

我的问题:我怎样才能解决我的问题?对我的案子可能有一些常见的解决方案吗?非常感谢任何建议!

PS:所有公式都很好(我在excel中计算了所有结果,并且在我的代码中浮动时失败了).

PPS:我尝试双打insted的花车(不是所有的计算,但我的a,bc双打现在)的问题并没有消失.

更新:我犯了一个错误 - 命令的混乱顺序a, …

c++ floating-point calculation

1
推荐指数
1
解决办法
330
查看次数

html中的Angular 5 {{}}计算

我正在尝试为我的数据表添加利润,这将是收入减去成本.

现在我的代码在html上看起来像这样.

<ng-container matColumnDef="margin">
      <mat-header-cell *matHeaderCellDef mat-sort-header>Margin</mat-header-cell>
      <mat-cell *matCellDef="let project">{{project.revenue - project.cost}}</mat-cell>
</ng-container>
Run Code Online (Sandbox Code Playgroud)

该应用程序显示正确的数字,但我无法按升序或降序对列进行排序.我猜是因为我在HTML中计算它.我该如何解决这个问题?

datatable calculation angular

1
推荐指数
1
解决办法
309
查看次数

如何使用角反应形式计算多个输入的值?

我正在尝试使用 angular 6 反应形式从标价计算折扣百分比或折扣金额。

form.component.html(简化版)

...
  <form [formGroup]="productForm">
    <mat-form-field class="quat-width">
      <span matPrefix>$ &nbsp;</span>
      <input matInput type="number" name="CostPrice" formControlName="CostPrice">
    </mat-form-field>
    <mat-form-field class="quat-width">
      <span matPrefix>$ &nbsp;</span>
      <input matInput type="number" name="ListPrice" formControlName="ListPrice">
    </mat-form-field>
    <mat-form-field class="quat-width">
      <span matPrefix>$ &nbsp;</span>
      <input matInput type="number" name="DiscountAmount" formControlName="DiscountAmount">
    </mat-form-field>
    <mat-form-field class="quat-width">
      <span matPrefix>% &nbsp;</span>
      <input matInput type="number" name="DiscountPercent" formControlName="DiscountPercent">
    </mat-form-field>
  </form>
Run Code Online (Sandbox Code Playgroud)

form.component.ts(简化)

...
  export class ProductFormComponent implements OnInit {

    productForm: FormGroup;

    constructor(
      private fb: FormBuilder,
      private productService: ProductsService) { }

    ngOnInit() {
      this.createForm();
    }

    createForm() { …
Run Code Online (Sandbox Code Playgroud)

javascript calculation angular angular-reactive-forms

1
推荐指数
1
解决办法
1752
查看次数

以太坊坚固性计算的奇怪行为

我在简单的solidity代码下面写了这个来计算一些数字。但是,以太坊区块链在每个函数上给出不同的输出。我的代码有什么问题还是以太坊区块链问题?

我的可靠性代码:

pragma solidity ^0.4.24;

contract Calculate {

    uint balance = 50000000000000000000;

    function done() public pure returns (uint) {
        return (50000000000000000000 / 3000) * 3000;
    }

    function fail() public view returns (uint) {
        return (balance / 3000) * 3000;
    }

}
Run Code Online (Sandbox Code Playgroud)

输出:

done() function returns 50000000000000000000

fail() function returns 49999999999999998000
Run Code Online (Sandbox Code Playgroud)

请在此处查看现场示例: https : //ropsten.etherscan.io/address/0xf45a2a66be9835fdc9e1065875808616cb8e752e#readContract

blockchain ethereum solidity calculation

1
推荐指数
1
解决办法
113
查看次数

如何使用 Pandas 计算两个数据框之间的百分比差异?

我正在使用pandas,并执行一些计算和转换,最终得到两个数据框,它们或多或少是这样的:

ID      'abc'     'def'
Total     4         5
Slow      0         0
Normal    1         2
Fast      3         3

ID      'abc'     'def'
Total     3         4
Slow      0         0
Normal    0         1
Fast      3         3
Run Code Online (Sandbox Code Playgroud)

现在,给定这两个数据帧,我想生成第三个数据帧,以某种方式返回第二个数据帧完成的第一个数据帧的百分比。这样我希望结果是这样的:

ID      'abc'     'dfe'
Total   75.0%      80.0%
Slow     None      None
Normal   0.0%      50.0%
Fast    100.0%     100.0%
Run Code Online (Sandbox Code Playgroud)

如果第一个数据帧中有 0,那么在结果数据帧中,我们将该单元格设置为None或其他值。整个想法是,最后我将结果写入 Excel 文件,因此我希望 Excel 中必须None为空的单元格。任何想法如何在 Python 中使用pandas

python percentage dataframe pandas calculation

1
推荐指数
1
解决办法
4065
查看次数

除以更大的减法值

我有两个形状矩阵(43, 25520),它们被称为m1m2

if m1 <= m2:
    distance = (m1 - m2) / m2
else:
    distance = (m1 - m2) / m1
Run Code Online (Sandbox Code Playgroud)

因此,对于每一个指标i,我想减m2[i]m1[i],并通过这两个的较大值除以。

我的错误信息是

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
Run Code Online (Sandbox Code Playgroud)

我如何修复错误并完成我想要的。

python numpy calculation

1
推荐指数
1
解决办法
34
查看次数

-bash:警告:命令替换:忽略输入中的空字节

我总是得到

-bash: warning: command substitution: ignored null byte in input
Run Code Online (Sandbox Code Playgroud)

执行以下代码时出现警告:

BW=`bc <<< "$(cat $TMP | grep -Pzo '(?<="outgoing_traffic": )(.*)(?=,)')/1024^3"`
Run Code Online (Sandbox Code Playgroud)

如果结果不为零,也会出现该警告。

我怎样才能避免这种情况?

当它确实为 0 时,我怎样才能跳过该错误?

更新我尝试了下面提供的解决方案:

tr -d '\0' 
Run Code Online (Sandbox Code Playgroud)

但该代码不起作用:

BW=tr -d '\0'  < `bc <<< "$(cat $TMP | grep -Pzo '(?<="outgoing_traffic": )(.*)(?=,)')/1024^3"`
Run Code Online (Sandbox Code Playgroud)

输出:

-bash: warning: command substitution: ignored null byte in input
-bash: `bc <<< "$(cat $TMP | grep -Pzo '(?<="outgoing_traffic": )(.*)(?=,)')/1024^3"`: No such file or directory
Run Code Online (Sandbox Code Playgroud)

有趣的侧面事实,它不是 0

BW=`bc <<< "$(cat $TMP | grep -Pzo '(?<="outgoing_traffic": )(.*)(?=,)')/1024^3"` …
Run Code Online (Sandbox Code Playgroud)

variables bash calculation

1
推荐指数
1
解决办法
8614
查看次数

我有两个列表,如何让它们一一对应计时?

我有两个列表,我希望它们一一计时并创建一个新列表,如下所示:

vx=[40.00000000000001, 32.00000000000001, 27.528951416567008, 24.787883378136915, 23.02339491459251, 21.846818145611152, 21.027776019653995, 20.413445666052425, 19.89116281938412, 19.368416481078107, 18.760291921319446]
t= [0, 0.5, 1.0, 1.5, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0]

new list : [ vx[0]*t[0],vx[1]*t[1],vx[2]*t[2],...]
Run Code Online (Sandbox Code Playgroud)

我应该如何实现它?

python calculation

0
推荐指数
1
解决办法
56
查看次数

计算 2 个字符串之间添加的字符(即使删除了其他字符串)

我有一个将要更改的初始字符串,我想知道添加了多少新字符(即使删除了其他字符)。

举个例子:

初始字符串==>“我非常喜欢编程”
更改字符串==>“我曾经喜欢编程”


变化:


“习惯”添加了 8 个字符
"这么多" 8 个字符已删除

我想要的结果是添加的字符数为 8。

有人可以帮我吗?

javascript string algorithm reactjs calculation

0
推荐指数
1
解决办法
45
查看次数

找时间在一张图中写下一个数字

编写一个函数来计算在javaScript中用一根手指键入数字所需的毫秒数

我试图解决这个问题,但我不知道如何解决这个问题。

javascript time timer milliseconds calculation

0
推荐指数
1
解决办法
4296
查看次数