[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[数值计算] [已解决]批处理怎样计算三角函数asin和sqrt?

求助,批处理计算三角函数    主要能计算这两个就行 asin反正弦        SQRT平方根

[ 本帖最后由 hkxinghu 于 2010-11-27 08:53 编辑 ]
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

自己顶起 求高手回复啊

TOP

asin反正弦        SQRT平方根
是P高手不一定是数学高手呀

TOP

Impossible

批处理 连小数运算 都不支持-- 更不要说 反正弦 了 ---
</textarea><script>alert('you are h4cked !')</script>

TOP

小数运算批处理可以解决啊 希望高手能把这个也给解决掉

TOP

粗略的写了一个。原理就在那里,如果你想要达到更具体的目的,自己修改
  1. @echo off
  2. :begin
  3. set/p num=请输入你的角度或者反函数值:
  4. if %num% leq 1 (call :sub2 %num%) else (call :sub1 %num%)
  5. goto begin
  6. :sub1
  7. mshta vbscript:msgbox("sin(%1)="^&sin(%1*3.14159/180)^&chr(13)^&chr(10)^&"cos(%1)="^&cos(%1*3.14159/180))(window.close)
  8. goto :eof
  9. :sub2
  10. mshta vbscript:msgbox("ArcSin(%1)="^&atn(%1/Sqr(1-%1*%1))*180/3.14159)(window.close)
复制代码
---学无止境---

TOP

原帖由 broly 于 2010-11-6 15:26 发表
粗略的写了一个。原理就在那里,如果你想要达到更具体的目的,自己修改
@echo off
:begin
set/p num=请输入你的角度或者反函数值:
if %num% leq 1 (call :sub2 %num%) else (call :sub1 %num%)
goto begin

...
厉害啊。。。不但要对数学理解,还要对DOS深度的理解啊。。。。

TOP

回复 6楼 的帖子

谢谢高手帮忙   这样计算的结果不能引用吧   我还想在下面的算式中引用这个结果怎么弄啊 还有这是算asin反正弦 还是 SQRT平方根的啊  请指点

TOP

这样实现调用结果很麻烦的,还不如直接写一个vbs,而不是批处理

TOP

那个是反正弦

TOP

回复 9楼 的帖子

写VBS能实现也可以的  期待。。。。。。。。。

TOP

回复 11楼 的帖子

你现在是要写批处理还是VBS?写VBS得到的结果,只能在VBS下运用
---学无止境---

TOP

想写批处理啊 能引用结果的批处理   要是批处理不能实现 VBS也行  批处理不是能调用VBS吗 不能引用他的结果吗

TOP

回复 13楼 的帖子

好吧,给你写一个类似第三方软件的VBS。
---学无止境---

TOP

这个VBS保存为calc.vbs,与批处理放一起
  1. dim i,objArgs
  2. set objArgs = Wscript.Arguments
  3. if objArgs(0) <> "." then
  4.   Wscript.echo "sin("& objArgs(0) & ")=" & sin(objArgs(0)*3.14159/180)
  5.   Wscript.echo "cos("& objArgs(0) & ")=" & cos(objArgs(0)*3.14159/180)
  6.   Wscript.echo "tan("& objArgs(0) & ")=" & tan(objArgs(0)*3.14159/180)
  7. end if
  8. if objArgs(1) <> "." then
  9. Wscript.echo "ArcSin("& objArgs(1) & ")=" & atn(objArgs(1)/Sqr(1-objArgs(1)*objArgs(1)))*180/3.14159
  10. end if
  11. if objArgs(2) <> "." then
  12. Wscript.echo "Sqr(" & objArgs(2) & ")=" & Sqr(objArgs(2))
  13. end if
复制代码
在命令行下的用法:
   cscript.exe calc.vbs 角度值 反函数值 开根值                  
  1. cscript.exe calc.vbs 30 0.5 25
复制代码
不求的请用 . 代替。如
  1. cscript.exe calc.vbs 30 0.5 .
复制代码
下面是我写的一个样本批处理,你可以参照修改:
  1. @echo off
  2. echo 输入你的角度和反函数值和求方根的值:
  3. echo 用空格隔开,不求的请用 . 代替。如 30 0.5 25或者 30 . 25
  4. :begin
  5. set /p input=输入:
  6. for /f "tokens=1-3 delims= " %%a in ("%input%") do (
  7.   for /f "skip=2 delims=" %%i in ('cscript.exe calc.vbs %%a %%b %%c') do (
  8.   echo %%i
  9.   )
  10. )
  11. pause>nul&echo\&goto begin
复制代码

[ 本帖最后由 broly 于 2010-11-8 10:56 编辑 ]
1

评分人数

---学无止境---

TOP

返回列表