编个matlab小程序绘图, 坐标轴6以外的图形画不出怎么解决?
functionr=yuan(a,b,c)%round.m,给定参数绘制圆%输入(a,b,c)分别为圆心横纵坐标,半径%输出(a,b)为圆心,c为半径的圆symsxyeq...
function r=yuan(a,b,c)
%round.m,给定参数绘制圆
%输入(a,b,c)分别为圆心横纵坐标,半径
%输出(a,b)为圆心,c为半径的圆
syms x y eq;
eq=(x-a)^2+(y-b)^2==c^2;
r=ezplot(eq);
set(r,'linestyle','--','color','r','linewidth',2,'fill','on');
axis auto;
axis equal;
axis fill;
axis([a-c a+c+1 b-c b+c+1]);
end
下面是我用这个函数绘的两个圆,6以外就是显示不出,很奇怪啊!!! 展开
%round.m,给定参数绘制圆
%输入(a,b,c)分别为圆心横纵坐标,半径
%输出(a,b)为圆心,c为半径的圆
syms x y eq;
eq=(x-a)^2+(y-b)^2==c^2;
r=ezplot(eq);
set(r,'linestyle','--','color','r','linewidth',2,'fill','on');
axis auto;
axis equal;
axis fill;
axis([a-c a+c+1 b-c b+c+1]);
end
下面是我用这个函数绘的两个圆,6以外就是显示不出,很奇怪啊!!! 展开
1个回答
展开全部
这是因为用ezplot画图,默认的范围是[-2*pi,2*pi],当然画不出大于2*pi以外的图形,我改一下:
function r=yuan(a,b,c)
%yuan.m,给定参数绘制圆
%输入(a,b,c)分别为圆心横纵坐标,半径
%输出(a,b)为圆心,c为半径的圆
syms x y eq;
eq=(x-a)^2+(y-b)^2==c^2;
%r=ezplot(eq);
r=ezplot(eq,[(a-2*c) (a+2*c) (b-2*c) (b+2*c)]);
set(r,'linestyle','--','color','r','linewidth',2,'fill','on');
axis auto;
axis equal;
axis fill;
%axis([a-c a+c+1 b-c b+c+1]);
end
function r=yuan(a,b,c)
%yuan.m,给定参数绘制圆
%输入(a,b,c)分别为圆心横纵坐标,半径
%输出(a,b)为圆心,c为半径的圆
syms x y eq;
eq=(x-a)^2+(y-b)^2==c^2;
%r=ezplot(eq);
r=ezplot(eq,[(a-2*c) (a+2*c) (b-2*c) (b+2*c)]);
set(r,'linestyle','--','color','r','linewidth',2,'fill','on');
axis auto;
axis equal;
axis fill;
%axis([a-c a+c+1 b-c b+c+1]);
end
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询