draw angle between two vectors

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

 采纳的回答

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 个评论

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

请先登录,再进行评论。

更多回答(1 个)

The figure appear but I recieved this error message as in the attachment file
Regards

3 个评论

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!

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Polar Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by