我在java中使用天文方程.我需要用sin和cos函数做一些编程.我得到错误的值和舍入错误导致结果出现问题.
一个特定的例子是远离的:
Dec=Math.atan(Math.tan(Eps)*Math.sin(RA));
Run Code Online (Sandbox Code Playgroud)
对于值,使用度,Eps = 23.440&RA = 312.5175,我应该得到答案-17.7223但是,相反,我得到
Dec=0.6587619787704015
Run Code Online (Sandbox Code Playgroud)
有人可以为这些数学函数建议一个变通方法或一个好的数学库吗?我应该在C中这样做并传递结果吗?实际上,C也给了我一些准确性的错误.
我正在使用学位.
谢谢
有没有人尝试在MATLAB中为大值绘制正弦函数?
例如:
x = 0:1000:100000;
plot(x,sin(2*pi*x))
Run Code Online (Sandbox Code Playgroud)
我只是想知道为什么这个周期函数的振幅在变化?根据我的预期,对于任何值x,函数都有一段时间2*pi.为什么不呢?
有人知道吗?有没有办法让它正确?此外,这是一个错误,它已经知道了吗?
需要帮忙。如何在Python中得到正弦平方?有具体的方法或者功能吗?
一些看似显而易见的解决方案并不合适。例子:
import numpy as np
import math
x = np.arange(0, 3, 0.5)
print([(math.sin(i) ** 2) for i in x])
print([math.sin(math.sin(i))for i in x])
# [0.0, 0.22984884706593015, 0.7080734182735712, 0.9949962483002227, 0.826821810431806, 0.3581689072683868]
#[0.0, 0.4612695550331807, 0.7456241416655579, 0.8401148815567654, 0.7890723435728884, 0.5633808209655248]
# or
x = np.arange(0, 3, 0.5)
print(np.sin(x) ** 2)
print(np.sin(np.sin(x)))
# [0. 0.22984885 0.70807342 0.99499625 0.82682181 0.35816891]
# [0. 0.46126956 0.74562414 0.84011488 0.78907234 0.56338082]
Run Code Online (Sandbox Code Playgroud) 我对这种数学很陌生,在校机上没有它。所以我的问题是从球面坐标到网格(x 和 y 的半径和角度)的变化。首先,我将圆分成均匀的角度。到这里一切正常。当它们变形时,它们到中心的距离都相同,但接缝旋转是随机的。这可以从像 4 这样的低数字中看出。该项目的最终目的是绘制一个心形曲线,因为我需要一个带有点的圆。所以这是我的代码:
from tkinter import *
from math import *
import round_canvas as round
#settings
speed = 1 # in ms
window_size = 700
cellamount = 20
cell = window_size / cellamount
r = 300
pointSize = 20
animationSize = window_size - cell*4
#colors:
#48979b
#7cbeba
#a7c7b3
#d9beac
#f5e6d9
#window
win = Tk()
win.title("heart")
win.resizable(False, False)
win.geometry(str(window_size) + "x" + str(window_size))
win.configure(background="#f5e6d9")
# variables
point_amount = 4
point_cords = [] # saves point rotations in list …Run Code Online (Sandbox Code Playgroud) 我在圆上有2个点,并且它们之间有一个角度,我想找到这样定义的圆的中心(嗯,最好是两个中心)。

def find_center(p1,p2,angle):
# magic happens... What to do here?
return (center_x, center_y)
Run Code Online (Sandbox Code Playgroud) 好的,这就是情况......
我目前正在为我的数学和物理学课程做一个项目.
我完成了解决方案的编码,并运行了我老师为我们制作的xUnit测试.
其中90%的人失败了.
我有一个Calculator.cs文件,其中包含我编码的所有方法.每个三角函数方法都返回一个元组,然后在一个xUnit.Assert.Equal中使用Tuple的项目(expectedResult,Math.Round(calculatorTuple.Item1,4)) ...
例如......我有一个名为Trig_Calculate_Adjacent_Hypotenuse的方法,它接受两个双精度作为它的参数(角度,度数和相反)
计算器发现Adjacent等于15.4235 ...但我的实际计算显示它是56.7128.因此,当测试运行时,它会执行Assert.Equal(56.7128,15.4235)并发现这两个答案不相等.(明显)
我多次查看了我的Calculator.cs文件中的代码......并且在我的生活中找不到问题.
这是我的方法,所以你可以看看它:
public static Tuple<double,double> Trig_Calculate_Adjacent_Hypotenuse(double Angle, double Opposite)
{
double Hypotenuse;
double Adjacent;
// SOH CAH TOA
// Using TOA to find Adjacent
// so Adjacent = Opposite / Tan(Angle)
// so Adjacent = 10 / Tan(10)
// which means Adjacent = 56.7128
// However my calculator finds 15.4235 instead...
Adjacent = Opposite / Math.Tan(Calculator.DegreesToRadians(Angle));
// Using SOH …Run Code Online (Sandbox Code Playgroud)