作者a78914124 (交大狗鼻哥)
看板MATLAB
标题[问题] 回圈取值
时间Wed Oct 1 11:30:41 2014
先附上程式码
clear
clc
n=11;
g1=[3 0];
g2=[0 3];
x=linspace(-g1(1)/2,g1(1)/2,n+1);
y=linspace(-g2(2)/2,g2(2)/2,n+1);
r1=0.1;
r2=0.2;
cx=[-1 0 1];
cy=[-1 0 1];
for nx=1:n+1
for ny=1:n+1
ra(nx,ny)=(x(nx)-cx(2))^2+(y(ny)-cy(2))^2;
rb(nx,ny)=(x(nx)-cx(1))^2+(y(ny)-cy(1))^2;
if (r1>ra(nx,ny))
eta(nx,ny)=0.2;
elseif(r1<ra(nx,ny) & r2>rb(nx,ny))
eta(nx,ny)=0.5;
else
eta(nx,ny)=1;
end
end
end
contourf(x,y,eta);
这样出现的图会是以(x,y)=(0,0)以及(-1-1)为圆心画两个圆
我想问的是说我有没有办法用个回圈
让他分别在
(x,y)=(-1,-1) (-1,0) (-1,1) (0,-1) (0,0) (0,1) (1,-1) (1,0) (1,1)
以不同的值画圆呢
有试着把在cx和cy写回圈
但是出来的图形都只有在(x,y)=(1,1)的地方有圆
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 140.113.13.25
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/MATLAB/M.1412134245.A.ABA.html