複数の陰関数を一度にプロットする方法

13 ビュー (過去 30 日間)
高木 範明
高木 範明 2023 年 9 月 20 日
コメント済み: 高木 範明 2023 年 9 月 21 日
fimplicitを使って、円グラフを例えば3つ同時に描画させるため、つぎのコードを記載しましたが、
うまく動きません。エラーメッセージは次の通りでです。「警告: 関数が配列入力で予期せぬ動作をします。パフォーマンスを向上させるために、入力引数と同じサイズと形状をもつ出力を返すように関数を適切にベクトル化してください。」
どこがまずいのか、ご教示をよろしくお願いいたします。
Ia_start = 1
Ia_end = 5
Ia_count = 2
Ia = Ia_start : Ia_count : Ia_end
figure
fimplicit(@(id,iq) id.^2+iq.^2 - Ia.^2)

採用された回答

Dyuman Joshi
Dyuman Joshi 2023 年 9 月 20 日
You will have to draw the 3 implicit curves separetly -
Ia_start = 1;
Ia_end = 5;
Ia_count = 2;
figure
hold on
for Ia = Ia_start : Ia_count : Ia_end
fimplicit(@(id,iq) id.^2+iq.^2 - Ia.^2);
end
hold off
xticks(-5:5)
  1 件のコメント
高木 範明
高木 範明 2023 年 9 月 20 日
Thank you for your prompt guidance.
I understand that it is difficult to plot all at once in fimplicit. I will try to deal with it in the way you have taught me.

サインインしてコメントする。

その他の回答 (1 件)

Atsushi Ueno
Atsushi Ueno 2023 年 9 月 20 日
This is another method. Creating a function handle (cell) array allows a single call to the fimplicit function.
Ia_start = 1;
Ia_end = 5;
Ia_count = 2;
Ia2 = Ia_start : Ia_count : Ia_end;
fun = arrayfun(@(Ia) @(id,iq) id.^2+iq.^2 - Ia.^2, Ia2, 'uni', false);
figure
fimplicit(fun);
  1 件のコメント
高木 範明
高木 範明 2023 年 9 月 21 日
Thank you for sharing your wonderful method with me. I was not aware of this method. Thank you again.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeResizing and Reshaping Matrices についてさらに検索

製品


リリース

R2023b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!