找回密码
 注册
Simdroid-非首页
查看: 105|回复: 8

关于三角函数的取值范围求助

[复制链接]
发表于 2010-11-28 08:59:17 | 显示全部楼层 |阅读模式 来自 江苏无锡
由于初学matlab,有很多不懂的,最近碰到一个求解三角函数的问题;
假设sin(x)=1/2
怎么通过matlab求解出x的值,将x限定在-2pi~2pi,-4pi~4pi等自己定义的范围内,
谢谢指教!
发表于 2010-11-28 09:34:17 | 显示全部楼层 来自 浙江杭州
Simdroid开发平台
本帖最后由 hylovegj 于 2010-11-28 09:35 编辑

asin(x)以弧度为单位返回x的反正弦值;asind(x)以角度为单位返回x的反正弦值。无论是asin函数还是asind函数,它们返回的结果都在区间[-π/2,π/2]上。其它区间的值你用三角函数的关系就可以得到,比如sin(x)=sin(π-x),sin(x)=sin(2N•π+x),相信这些你是知道的。

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2010-11-28 10:41:41 | 显示全部楼层 来自 北京西城
  1. fzero(@(x)sin(x)-0.5,-1)
复制代码
一个小例子,希望对你有帮助

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2010-11-29 11:11:35 | 显示全部楼层 来自 江苏无锡
谢谢楼上两位大侠的回答,可是要是我使用
solve函数呢,好像solve并没有fzero()函数这个功能啊
syms x
solve(sin(x)-0.5)
回复 不支持

使用道具 举报

发表于 2010-11-29 11:47:46 | 显示全部楼层 来自 浙江杭州
solve函数也可以的。看下面:

  1. >> degree = solve('sin(x)-0.5=0','x')

  2. degree =

  3. .52359877559829887307710723054658


  4. >> format long
  5. >> pi/6

  6. ans =

  7.    0.523598775598299
复制代码
回复 不支持

使用道具 举报

发表于 2010-11-29 12:21:50 | 显示全部楼层 来自 浙江杭州
>> degree = 180/pi*solve('sin(x)-0.5=0','x')

degree =

30.000000000000001040835599384983
把弧度制转化为了角度制。
回复 不支持

使用道具 举报

发表于 2010-11-29 14:24:10 | 显示全部楼层 来自 辽宁沈阳
反三角函数的值域是一定的 数学上定义反三角函数的时候就有明确规定
x=arcsin(1/2), 反正玄函数的值域是(-Pi/2,Pi/2)
   反余玄函数值域是(0,Pi)

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2010-11-29 15:58:38 | 显示全部楼层 来自 北京
用三大计算软件都试了一下:
1.Maple13.0
可以设置一下Assume option(不适合MATLAB2010b,以前版本的另论,或者可以通过安装maple→symengine转引擎,再由maple命令调用,但这种做法实在很神经质。)
  1. solve([sin(x) = 1/2, 0 < x, x < 10], x, AllSolutions, Explicit)
复制代码
2.Mathematica 7.0
  1. Reduce[Sin[x]-1/2==0,x]
复制代码
指定范围的方法没找到,其他同仁感兴趣补充一下。。
3.MATLAB
它的原符号计算引擎源自Maple,先略过不提,理由见1.
在mupad中可以通过如下方式得到:
  1. solve(sin(x)-1/2,x=-4*PI..0)
复制代码

评分

1

查看全部评分

回复 不支持

使用道具 举报

 楼主| 发表于 2010-11-30 09:56:30 | 显示全部楼层 来自 江苏无锡
本帖最后由 chenlugang 于 2010-11-30 09:57 编辑

谢谢楼上们的回答,不过我在通过由三角函数构成的三个方程组成的方程组通过solve求解的时候,求解的角度值出现了不在-2pi~2pi的情况,因为里面有变量,通过修改变量的值得到的结果不同,但是有两个超出了,虽然通过周期变换能够得到想要的值。不知道是什么原因啊!
回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-4-28 22:59 , Processed in 0.058395 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表