MATLAB怎么在矩阵中取出一个圆内的值

MATLAB怎么在矩阵中取出一个圆内的值

第1个回答  2017-05-18
代码如下:
clear all;
clc;
close all;
a=rand(10);
la=size(a);
nr=la(1);
nc=la(2);
%圆心位置行列
cc=[5 5];
%圆半径
r=3;
%圆内元素值及索引放置矩阵
index=[];
b=[];
in=1;
for i=1:nr
for j=1:nc
t=[i j];
if norm(cc-t)<=r %norm为范数函数,默认2-范数,用来求两点距离
b(in,1)=a(i,j); %符合条件的元素值
index(in,:)=t; %符合条件的元素索引
in=in+1;
a(i,j)=0; %此句有效输出a可以看到圆效果,看完加%变成注释不执行即可;
end
end
end
a,index,b %显示结果本回答被提问者采纳
相似回答