如何选择一个范围内的变量?

13个视图(30天)
needsmorestruts
needsmorestruts 2021年5月14日
评论道: 骑自行车的人 2021年5月18日
我希望能够选择一个范围从内部变量来控制我绘制椭圆的长度。我想要的变量的范围在一定价值。例如,我想提取x的值,在-4000年一个变量x = (1000: 2: -5000)。
atx = 30000;
Rb = 42164.17;
ν= 157.67;
e = 0.781;
RE = 6378;
Ra = 200 +再保险;
θ= linspace(0, 2 *π,1000);
θ₁= linspace(0,π,1000);
xre =再保险。* cos(θ);
yre =再保险。* sin(θ);
情节(xre yre,“颜色”,“黑色”,“线宽”2);
持有
x2 = Rb。* cos(θ);
y2 = Rb。* sin(θ);
轴(“广场”)
情节(x2, y2,“颜色”,“黑色”);
持有;
轴(“广场”)
情节(Rb * cosd(ν),Rb *信德(ν),“处方”,“MarkerSize”,20岁,“颜色”,“黑色”);
持有;
x3 = atx。* cosθ₁atx +类风湿性关节炎;
y3 = atx。* sqrt(单电子^ 2)。*罪(θ₁);
x4 = x3 (:, 1:674);
y4 = y3 (:, 1:674);
轴(“广场”)
情节(x4、y4“——”,“颜色”,“蓝色”);
持有;
我的代码是试图绘制一个椭圆轨道转移轨迹之间的循环和循环最终轨道转移开始椭圆的半轴,我添加了一个图给我想要的。在代码中,我已经添加了,674代表当x3 > rb的价值。这是以便转移不超过外椭圆轨道。
如果有一个更有效的方法,请让我知道!

答案(1)

骑自行车的人
骑自行车的人 2021年5月14日
看看这个小例子。
首先,定义一个小x向量:
x = 1000: -1000: -6000
x = 1×8
-1000 -2000 -3000 -4000 -5000 -6000 1000 0
的变量
x_is_small = (x < -4000)
x_is_small =1×8逻辑数组
0 0 0 0 0 0 1 1
是一个逻辑变量,是真的x < -4000,否则,则返回False。
您可以使用该变量指数到其他变量,这样提取x的值小于-4000:
small_x_values = x (x_is_small)
small_x_values = 1×2
-5000 -6000
我们也可以做,如果没有定义中间变量:
x (x < -4000)
ans = 1×2
-5000 -6000
我希望有帮助。
2的评论
骑自行车的人
骑自行车的人 2021年5月18日
这里有一些疑惑。的代码 x (x < -4000) 肯定 拿出x的值小于-4000,无论x是如何得到的。
这是你的代码,而不是选择硬编码的值为674,我设置了条件x3 > - Rb。
atx = 30000;
Rb = 42164.17;
ν= 157.67;
e = 0.781;
RE = 6378;
Ra = 200 +再保险;
θ= linspace(0, 2 *π,1000);
θ₁= linspace(0,π,1000);
xre =再保险。* cos(θ);
yre =再保险。* sin(θ);
情节(xre yre,“颜色”,“黑色”,“线宽”2);
持有
x2 = Rb。* cos(θ);
y2 = Rb。* sin(θ);
轴(“广场”)
情节(x2, y2,“颜色”,“黑色”);
持有;
轴(“广场”)
情节(Rb * cosd(ν),Rb *信德(ν),“处方”,“MarkerSize”,20岁,“颜色”,“黑色”);
持有;
x3 = atx。* cosθ₁atx +类风湿性关节炎;
y3 = atx。* sqrt(单电子^ 2)。*罪(θ₁);
x4 = x3 (:, x3 > rb);%我改变这段代码删除硬编码674
y4 = y3 (:, x3 > rb);%我改变这段代码删除硬编码674
轴(“广场”)
情节(x4、y4“——”,“颜色”,“蓝色”);
持有;
虚线超出外圆。似乎条件 x3 < rb 没有在第674届过渡元素。这是一个阴谋的x3, rb的水平线。
情节(x3)
yline (rb)
所以,我不太确定是什么问题,但是我给你的代码选择一定范围的x3的工作是我所期望的。

登录置评。

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!