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

15 views (last 30 days)
高木 範明
高木 範明 on 20 Sep 2023
Commented: 高木 範明 on 21 Sep 2023
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)

Accepted Answer

Dyuman Joshi
Dyuman Joshi on 20 Sep 2023
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 Comment
高木 範明
高木 範明 on 20 Sep 2023
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.

Sign in to comment.

More Answers (1)

Atsushi Ueno
Atsushi Ueno on 20 Sep 2023
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 Comment
高木 範明
高木 範明 on 21 Sep 2023
Thank you for sharing your wonderful method with me. I was not aware of this method. Thank you again.

Sign in to comment.

Products


Release

R2023b

Community Treasure Hunt

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

Start Hunting!