draw angle between two vectors

Please every one, how I can draw this figure in Matlab
as in the attachment figure

 Accepted Answer

Try this:
figure
hp{1} = polarplot([45 160; 0 0]*pi/180, [1 1; 0 0], '--k', 'DisplayName','Induction');
hold on
hp{2} = polarplot([160; 0]*pi/180, [1; 0], '-k', 'DisplayName','Field');
polarplot([40 50; 45 45]*pi/180, [0.8 0.8; 1 1], '-k')
polarplot([155 165; 160 160]*pi/180, [0.8 0.8; 1 1], '-k')
hold off
lgd = legend([hp{1}(1), hp{2}(1)], 'Induction','Field', 'Location','southoutside');
title(lgd, '\itB\rm at 45°')
producing:
.

2 Comments

Thank you indeed for your help really thank you
As always, my pleasure!

Sign in to comment.

More Answers (1)

Hassan Abdelazeem
Hassan Abdelazeem on 7 Sep 2020
The figure appear but I recieved this error message as in the attachment file
Regards

3 Comments

There are too many spaces in the handle vector of the legend call. Cell arrays are comma-separated lists, and if spaces appear between the subscript references, this confuses MATLAB.
Note that the extra spaces in the title call will likely also throw an error. This will cause problems for the text interpreter, since spaces in a character vector are significant, and it will not interpret the TeX calls ‘\it’ and ‘\rm’ correctly.
Please just use my code as I wrote it!
OK, I am so sorry about that now, it is working in a good manner , I appraciate your effort , thank you indded
Regards
As always, my pleasure!

Sign in to comment.

Categories

Community Treasure Hunt

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

Start Hunting!