MATLAB中文论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 292|回复: 5|关注: 0

[已解决] 求助—关于反余切函数acot()值域问题!!!

[复制链接]

新手

12 麦片

财富积分


050


1

主题

2

帖子

0

最佳答案
x=0.1:0.01:pi-0.1;
y=cot(x);
plot(x,y,'LineWidth',1); hold on;
z=acot(y);
plot(y,z,'LineWidth',1); grid on;
axis([-10,10,-10,10]);

x在定义域(0,pi)之间时,余切函数的值域为正无穷到负无穷,为什么返回来用余切函数的值域作为反余切函数的定义域,得到的图像会在0点断开,成为两部分,而且值域变为(-pi/2,pi/2)而不是(0,pi)了。为什么不是另一张图片所示的连续函数,值域范围?这个问题困扰我一天了,还望各位大神解答一下,在此谢过。

untitled.jpg
e7cd7b899e510fb308719d85d933c895d1430cb3.jpg

MATLAB 基础讨论
版块优秀回答者

4

主题

601

帖子

124

最佳答案
  • 关注者: 18
发表于 2017-1-11 00:22:29 | 显示全部楼层
本帖最后由 深蓝孩童 于 2017-1-11 00:24 编辑

这是matlab对acot的定义呀。
acot
要想获得连续的那个,把小于0的部分加pi
  1. x=0.1:0.01:pi-0.1;
  2. y=cot(x);
  3. plot(x,y,'LineWidth',1); hold on;
  4. z=acot(y);
  5. z(z<0) = z(z<0)+pi;
  6. plot(y,z,'LineWidth',1); grid on;
  7. axis([-10,10,-10,10]);
复制代码



多看帮助文档
说明你的matlab版本

新手

5 麦片

财富积分


050


0

主题

1

帖子

0

最佳答案
发表于 2017-1-11 00:26:30 来自手机 | 显示全部楼层
我也看到关于acot的函数解释了,但是就是不太明白,在数学里明明是连续函数,不知为何在matlab中就变了。
来自: 微社区

新手

5 麦片

财富积分


050


2

主题

33

帖子

0

最佳答案
发表于 2017-1-11 10:37:32 | 显示全部楼层
世上没有绝望的处境,只有对处境绝望的人。 1817811594.....jpg

MATLAB 基础讨论
版块优秀回答者

4

主题

601

帖子

124

最佳答案
  • 关注者: 18
发表于 2017-1-11 11:34:49 | 显示全部楼层 |此回复为最佳答案
ILU_Lareina 发表于 2017-1-11 00:26
我也看到关于acot的函数解释了,但是就是不太明白,在数学里明明是连续函数,不知为何在matlab中就变了。 ...

matlab中acot是根据atan定义的,atan是奇函数,所以acot也是奇函数了。
它本身就是周期函数,所以返回一个周期的就行了。
具体为什么不定义成连续的。。。我也不知道。。。
How does the MATLAB calculate the arctan?
多看帮助文档
说明你的matlab版本

新手

12 麦片

财富积分


050


1

主题

2

帖子

0

最佳答案
 楼主| 发表于 2017-1-11 13:53:34 | 显示全部楼层
深蓝孩童 发表于 2017-1-11 11:34
matlab中acot是根据atan定义的,atan是奇函数,所以acot也是奇函数了。
它本身就是周期函数,所以返回一 ...

一语道破,谢谢啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐上一条 /3 下一条

联系我们|版权保护|小黑屋|Archiver|手机版|MATLAB中文论坛 ( 苏ICP备08100737号

GMT+8, 2017-3-24 10:06 , Processed in 0.274375 second(s), 75 queries , XCache On.

Powered by Discuz! X3.3

© 2001-2013 Comsenz Inc.

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