作业帮 > 综合 > 作业

matlab 条件判断语句不生效

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/16 09:50:27
matlab 条件判断语句不生效
想用cos(w*t+y)的值的正负来决定函数的表达式,可是发现条件判断语句失效了,直接按最后一个条件语句运行了,w是角速度,y是初相位,均已赋值,t取0:0.004:1.
主要函数部分:
if cos(w*t+y)
上面的if-end结构用一下语句代替即可>> s=(atan((r*sin(w.*t+y)+d-r*sin(b01)*sin(a)*sin(a))./(r*cos(w.*t+y)))+pi).*(t<0)+(atan((r*sin(w.*t+y)+d-r*sin(b01)*sin(a)*sin(a))./(r*cos(w.*t+y)))).*(t>=0);有疑问,欢迎交流;
如有用,及时采纳.
再问: 我想要的是根据cos(w.*t+y)的值来判断,为什么你的语句中用的是t=0呢?
再答: 打错,不好意思>> s=(atan((r*sin(w.*t+y)+d-r*sin(b01)*sin(a)*sin(a))./(r*cos(w.*t+y)))+pi).*(cos(w*t+y)<0)+(atan((r*sin(w.*t+y)+d-r*sin(b01)*sin(a)*sin(a))./(r*cos(w.*t+y)))).*(cos(w*t+y)>=0);这样没问题了。你的w如果不是标量,要加点>> s=(atan((r*sin(w.*t+y)+d-r*sin(b01)*sin(a)*sin(a))./(r*cos(w.*t+y)))+pi).*(cos(w.*t+y)<0)+(atan((r*sin(w.*t+y)+d-r*sin(b01)*sin(a)*sin(a))./(r*cos(w.*t+y)))).*(cos(w.*t+y)>=0); 还有疑问吗?我过会要下线了,如果有的话尽快说吧
再问: 不好意思刚才洗了个澡 明天白天调试程序,如果没问题我就采纳你的了,非常感谢

太棒了运行成功了,可以的话可以加个qq之类的联系么,我是matlab初学者希望以后可以多请教一些matlab的问题.........
再答: 我不常用QQ的,多在知道交流交流,互相学习