声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 1316|回复: 3

[综合讨论] 画二维图像时反余弦值大于一时的问题

[复制链接]
发表于 2009-3-1 16:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
以下是我的一个方程:
t=[0:0.01:1.5];y=acos(((55*t/3-55/(2*pi)*sin(2*pi*t/3)+27.5).^2+(2*t/3-(1/(2*pi))*sin(4*pi*t/3)+21).^2+48.75)/(22*sqrt((55*t/3-55/(2*pi)*sin(2*pi*t/3)+27.5).^2+(2*t/3-(1/(2*pi))*sin(4*pi*t/3)+21).^2)))+atan((55*t/3-(55/(2*pi))*sin(2*pi*t/3)+27.5)/(2*t/3-(1/(2*pi))*sin(4*pi*t/3)+21));plot(t,y);
画出图是一条多点的直线,代入数之后发现acos中的值是大于一的,所以会出现这种情况。按道理来说这应该是错误的,因为余弦值最大才为1,这种情况下的matlab是怎样计算出来的数值,虚部、实部又分别代表什么,在不改变算式的情况下,怎样才能算出确切的角度,希望高手回答,谢谢。
回复
分享到:

使用道具 举报

发表于 2009-3-1 17:08 | 显示全部楼层
你的acos(x)中的x值会大于1,导致y的值为复数。当x大于1时,计算式看acos的有关帮助文件。

评分

1

查看全部评分

 楼主| 发表于 2009-3-2 16:50 | 显示全部楼层
谢谢friendchj的回答。问题已得到解决。但是还有一个问题。就是加了acosh后开始问题还是没有得到解决。我把除号前加了一个“.”,然后图像才能正常画出来,并且不是每一个除号前都加点,只是反余弦或者反正切中总体的分子分母相除是加“.”。不知道什么原因,也没有提示错误,帮忙解答一下。
t=[0:0.01:1.5];y=acosh(((55*t/3-55/(2*pi)*sin(2*pi*t/3)+27.5).^2+(2*t/3-(1/(2*pi))*sin(4*pi*t/3)+21).^2+48.75)./(22*sqrt((55*t/3-55/(2*pi)*sin(2*pi*t/3)+27.5).^2+(2*t/3-(1/(2*pi))*sin(4*pi*t/3)+21).^2)))+atan((55*t/3-(55/(2*pi))*sin(2*pi*t/3)+27.5)./(2*t/3-(1/(2*pi))*sin(4*pi*t/3)+21));plot(t,y);
发表于 2009-3-2 20:24 | 显示全部楼层

回复 板凳 fujinhai 的帖子

注意你的t是个向量,当含有他的计算式与标量运算时无需加’.‘,而与另外的矢量(如你的算式,含t)运算时,需要加’.‘。除非你先要的就是矩阵运算,此事要遵循矩阵运算规则。
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-12-4 10:31 , Processed in 0.081233 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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