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);
这几行去掉
你可以把原来两个等式自己推导下,应该能找到更简单的关系