matlab画极坐标图像

发布网友 发布时间:2022-04-20 08:02

我来回答

1个回答

热心网友 时间:2023-06-27 22:49

恐怕还是要解出来
clear,clc
%clf
f=@(p)@(x)[-sin(x(1))*cos(x(2))-0.6*sin(2*x(1))*cos(x(2))+0.9*...
sin(x(1)+x(2)+pi/3),cos(x(1))*cos(x(2))+0.38*cos(2*x(1))*cos(x(2))-...
0.9*cos(x(1)+x(2)+pi/3)-p];
op=optimset('display','off');
p=-3:.01:3;
n=length(p);
x=zeros(n,2);val=x;flag=x(:,1);
for i=1:n
[x(i,:),val(i,:),flag(i)]=fsolve(f(p(i)),rand(2,1),op);
end
d=[x(flag==1,2),(p(flag==1))'];
d(d(:,2)<0,1)=pi+d(d(:,2)<0,1);d(d(:,2)<0,2)=-d(d(:,2)<0,2);
d(:,1)=mod(d(:,1),2*pi);
d=sortrows(d);
polar(d(:,1),d(:,2))追问请问,得出的图形很别扭啊,线条不流畅,而且在靠近原点那块图形很模糊,望赐教,谢谢

追答我已经想办法让它流畅了很多了,不信你把
d=[x(flag==1,2),(p(flag==1))'];
d(d(:,2)<0,1)=pi+d(d(:,2)<0,1);d(d(:,2)<0,2)=-d(d(:,2)<0,2);
d(:,1)=mod(d(:,1),2*pi);
d=sortrows(d);
这几行去掉

你可以把原来两个等式自己推导下,应该能找到更简单的关系

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com