[已解决] 萌新求助

[复制链接]
tctctc5128 发表于 2021-2-6 07:02:34
要求x y两个角度

代码如下:

clear all;clc;
[x,y]=solve('cos(x/180*pi)/ sin(y/180*pi)==1.49309','tan(x/180*pi+y/180*pi)==(16006-0.5*16000/1200*tan(y/180*pi))/(1199*16000/1200)','x','y');
solution=eval([x,y]);

现在运行时回车窗口直接清空了。。。按理说算出来的x y数值都应当是小于42°的,有大佬给援助下嘛。。小弟感激不尽= =

最佳答案


TouAkira 发表于 2021-2-6 07:17:16
①新手发帖请先仔细看发帖提示和置顶帖子,尤其是《 你知道如何正确提问么? 》、《 为什么你的帖子没人回 》这些帖子

请先去看一看,想一想,最最基本的"方便你自己、也方便回答者"的几条指南
帖子标题=帖子内容的提炼。让他人看了标题就能大概知道是否能帮助你。切勿使用“求助、急、帮忙、新手、高手、在线等”等无任何意义的词语。

都做到了吗?

②对角度做三角函数运算直接用对应的sind等函数替代sin,其他类推。

③solve是用来求解析解的,复杂方程很可能没有解析解,反正是求数值解,直接用vpasolve, fsolve之类求解器替代solve,既快又省得麻烦。

④你这语法忒老了,稍微新点的版本语法就不是这么写的了。直接
  1. syms x y real
  2. [ x, y ] = vpasolve( [ cosd( x ) / sind( y ) == 1.49309, tand( x + y ) == ( 16006 - 0.5 * 16000 / 1200 * tand( y ) ) / ( 1199 * 16000 / 1200 ) ], [ x, y ], [ 20, 30 ] )
复制代码

得到
x = 3.0490754532448089513691862467057
y = 41.974812413118021160073414492948
回复此楼

2 条回复


TouAkira 发表于 2021-2-6 07:17:16
①新手发帖请先仔细看发帖提示和置顶帖子,尤其是《 你知道如何正确提问么? 》、《 为什么你的帖子没人回 》这些帖子

请先去看一看,想一想,最最基本的"方便你自己、也方便回答者"的几条指南
帖子标题=帖子内容的提炼。让他人看了标题就能大概知道是否能帮助你。切勿使用“求助、急、帮忙、新手、高手、在线等”等无任何意义的词语。

都做到了吗?

②对角度做三角函数运算直接用对应的sind等函数替代sin,其他类推。

③solve是用来求解析解的,复杂方程很可能没有解析解,反正是求数值解,直接用vpasolve, fsolve之类求解器替代solve,既快又省得麻烦。

④你这语法忒老了,稍微新点的版本语法就不是这么写的了。直接
  1. syms x y real
  2. [ x, y ] = vpasolve( [ cosd( x ) / sind( y ) == 1.49309, tand( x + y ) == ( 16006 - 0.5 * 16000 / 1200 * tand( y ) ) / ( 1199 * 16000 / 1200 ) ], [ x, y ], [ 20, 30 ] )
复制代码

得到
x = 3.0490754532448089513691862467057
y = 41.974812413118021160073414492948
回复此楼

tctctc5128 发表于 2021-2-6 07:48:37
TouAkira 发表于 2021-2-6 07:17
①新手发帖请先仔细看发帖提示和置顶帖子,尤其是《 你知道如何正确提问么? 》、《 为什么你的帖子没人回  ...

版主牛逼666
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
热门教程
站长推荐
快速回复 返回顶部 返回列表