作业帮 > 数学 > 作业

matlab中以(0,n)为圆心,n=1,2,3,4,-1,-2,-3,-4画八个圆,半径依次为1,2,3,4,1,2,

来源:学生作业帮 编辑:作业帮 分类:数学作业 时间:2024/05/27 08:21:45
matlab中以(0,n)为圆心,n=1,2,3,4,-1,-2,-3,-4画八个圆,半径依次为1,2,3,4,1,2,3,4
clear all;clc;
r=[1 2 3 4 1 2 3 4].';
t=0:pi/40:2*pi;
n=[1 2 3 4 -1 -2 -3 -4].';
n=repmat(n,1,length(t));
x=r*cos(t);
y=n+r*sin(t);
plot(x.',y.','b');
axis equal;
再问: 请问我怎样把最大的红色圆外面的蓝色线条去了啊?就是达到这种效果

再答: 我说看着怎么这么像呢,画smith圆图,前面的也是你的哈 看看,一会给你追加吧
再问: 是啊是啊,就是这个,但是正版的smith圆图不会画,没学过这个软件!嘿嘿!有的改不?^ . ^
再答: 不好意思,刚才有点事,刚弄好:clear all;clc;r1=(1:0.5:4).';d1=r1;t1=linspace(0,2*pi,100);d1=repmat(d1,1,length(t1));x1=-d1+r1*cos(t1);y1=r1*sin(t1);plot(x1',y1','r');hold on;axis square;r=1:0.5:4;r2=[r,r].';t2=t1;d=1:0.5:4;d2=[d,-d].';syms x yfor ii=1:length(d)    f1=x^2+(y-d2(ii))^2-r2(ii)^2;    f2=(x+4)^2+y^2-16;    [x0,y0]=solve(f1,f2);    tt=linspace(pi-atan((y0(2)-d2(ii))/abs(x0(2))),3*pi/2,100);    xx=eval(r2(ii)*cos(tt));    yy=d2(ii)+eval(r2(ii)*sin(tt));    plot(xx,yy,'b');    hold on;axis square;endfor ii=length(d)+1:2*length(d)    f1=x^2+(y-d2(ii))^2-r2(ii)^2;    f2=(x+4)^2+y^2-16;    [x0,y0]=solve(f1,f2);    tt=linspace(pi/2,3*pi/2-atan(abs(x0(2)/abs(y0(2)-d2(ii)))),100);    xx=r2(ii)*eval(cos(tt));    yy=d2(ii)+r2(ii)*eval(sin(tt));    plot(xx,yy,'b');    hold on;axis square;endaxis([-9,1,-5,5]);