yの値を以下のeqn4に代入すると、xの値が範囲ごとに出てきます
このプログラムでは、forでyの範囲指定をすると、y=39.2のときのxの値、y=39.21の時のxの値というように繰り返しコマンドウインドウに出力されます。
この缲り返しさを(SX1,SX2)ににたいのです,どのようににすれのでしょうか??
sx1:出力されたsolx1の値のみが含まれる
sx2:出力されたsolx2の値のみが含まれる
eqn4 = ((abs(-30+y)/sqrt(x^2+1^2))-8.825226)^2 +...
((abs(-40+y)/sqrt(x^2+1^2))-0.980581)^2 +...
((abs(10*x-30+y)/sqrt(x^2+1^2))-6.864065)^2 +...
((abs(10*x-40+y)/sqrt(x^2+1^2))-2.941742)^2 +...
((abs(20*x-30+y)/sqrt(x^2+1^2))-4.902903)^2 +...
((abs(20*x-40+y)/sqrt(x^2+1^2))-4.902903)^2 +...
((abs(30*x-30+y)/sqrt(x^2+1^2))-2.941842)^2 +...
((abs(30*x-40+y)/sqrt(x^2+1^2))-6.864065)^2 +...
((ABS(40*x-30+y)/sqrt(x^2+1^2)) - 0.980581)^2+...
((abs(40*x-40+y)/sqrt(x^2+1^2))-8.825226)^2 +...
((ABS(ABS(50*x-20+y)/sqrt(x^2+1^2)) - 8.825226)^2+...
((abs(50*x-30+y)/sqrt(x^2+1^2))-0.980581)^2 +...
((abs(60*x-20+y)/sqrt(x^2+1^2))-6.864065)^2 +...
((abs(60*x-30+y)/sqrt(x^2+1^2))-2.941742)^2 +...
((abs(70*x-20+y)/sqrt(x^2+1^2))-4.902903)^2 +...
((abs(70*x-30+y)/sqrt(x^2+1^2))-4.902903)^2 +...
((abs(80*x-20+y)/sqrt(x^2+1^2))-2.941742)^2 +...
((abs(80*x-30+y)/sqrt(x^2+1^2))-6.864065)^2 +...
((ABS(90*x-20+y)/sqrt(x^2+1^2)) - 0.980581)^2+...
((abs(90*x-30+y)/sqrt(x^2+1^2))-8.825226)^2 == 1.000000009427;
solx1 = vpasolve(eqn4,x,[-0.2 -0.143])
solx2 = vpasolve(eqn4,x,[-0.3 -0.2])
出力結果は以下のようになっています。
出力される値がemptyの時には、配列に代入しないようにしたいです。