質問: cos[h y]*(sqrt[x^2*(nf^2 - nc^2) - y^2] + sqrt[x^2*(nf^2 - ns^2) - y^2])*y, {x, 0, 10}, {y, 0.1, 10}] すべてのプロットは、予想される形式と非常によく一致しています。 ただし、元のプロットはブランチごとに異なる色になっていますが、matlab、desmos、またはmathematicaでこれを実装するにはどうすればよいですか?
回答: mathematica更新凡例を追加し、濃い黄色を使用します。colors = {blue, green, red, cyan, magenta, rgbcolor["#cdcd41"]}; labels = mapthread[ tostring[subscript[style["te", bold, 16, #2], style[tostring@#1, bold, 12, #2]], standardform] &, {range[0, 5], colors}]; legend = linelegend[colors, labels, legendlayout -> "reversedcolumn", legendmarkersize -> 20]; plot = contourplot[ sin[h y]*(y^2 - (sqrt[x^2*(nf^2 - nc^2) - y^2]* sqrt[x^2*(nf^2 - ns^2) - y^2])) == cos[h y]*(sqrt[x^2*(nf^2 - nc^2) - y^2] + sqrt[x^2*(nf^2 - ns^2) - y^2])*y, {x, 0, 10}, {y, 0, 4}, plotlegends -> legend]; coloredlines = riffle[colors, cases[plot, _line, infinity]]; plot /. {a___, repeated[_line, {6}], c___} :> {a, sequence @@ coloredlines, c} 元の回答contourplotオプションを使用して陰関数プロットの線に色を付ける方法が見つかりませんでした。これは、プロット式を後処理することによってそれを行う方法(ハック)です。plot = contourplot[ sin[h y]*(y^2 - (sqrt[x^2*(nf^2 - nc^2) - y^2]* sqrt[x^2*(nf^2 - ns^2) - y^2])) == cos[h y]*(sqrt[x^2*(nf^2 - nc^2) - y^2] + sqrt[x^2*(nf^2 - ns^2) - y^2])*y, {x, 0, 10}, {y, 0, 4}]; coloredlines = riffle[{blue, green, red, cyan, magenta, yellow}, cases[plot, _line, infinity]]; plot /. {a___, repeated[_line, {6}], c___} :> {a, sequence @@ coloredlines, c}