Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在MATLAB中删除矩阵表示中满足截止函数的某些元素?_Matlab - Fatal编程技术网

如何在MATLAB中删除矩阵表示中满足截止函数的某些元素?

如何在MATLAB中删除矩阵表示中满足截止函数的某些元素?,matlab,Matlab,必须删除所需元素的截止函数是半径为1的圆 (x-1)^2+(z-1)^2我首先假设x和z表示一些二维函数f将在其中计算以生成输出的坐标。假设在您的示例中,x和z最终是13×21矩阵,那么f的输出也应该是13×21矩阵。然后,您可以找到指示圆内点的索引,并使用此索引将输出矩阵中的点设置为零: X=(-5:.5:5) Z=(-3:.5:3) [x z]=meshgrid(X,Z) output=f(x,z);%计算你的输出,它应该是一个13乘21的矩阵 index=(x-1)。^2+(z-1)。^

必须删除所需元素的截止函数是半径为1的圆
(x-1)^2+(z-1)^2我首先假设
x
z
表示一些二维函数
f
将在其中计算以生成输出的坐标。假设在您的示例中,
x
z
最终是13×21矩阵,那么
f
的输出也应该是13×21矩阵。然后,您可以找到指示圆内点的索引,并使用此索引将输出矩阵中的点设置为零:

X=(-5:.5:5)
Z=(-3:.5:3)
[x z]=meshgrid(X,Z)
output=f(x,z);%计算你的输出,它应该是一个13乘21的矩阵

index=(x-1)。^2+(z-1)。^2我首先假设
x
z
表示一些二维函数
f
将在其上计算以生成输出的坐标。假设在您的示例中,
x
z
最终是13×21矩阵,那么
f
的输出也应该是13×21矩阵。然后,您可以找到指示圆内点的索引,并使用此索引将输出矩阵中的点设置为零:

X=(-5:.5:5)
Z=(-3:.5:3)
[x z]=meshgrid(X,Z)
output=f(x,z);%计算你的输出,它应该是一个13乘21的矩阵

索引=(x-1)。^2+(z-1)。^2我想你要找的是:

output = f(x,z);  %# Compute your output, which should be a 13-by-21 matrix
index = (x-1).^2 + (z-1).^2 <= 1;  %# Logical index of elements inside the circle
output(index) = 0;  %# Set the output values inside the circle to 0
i=1时的
:大小(x,1)
对于j=1:尺寸(x,2)

如果((x(i,j)-1)^2+(z(i,j)-1)^2我想你想要的是:

output = f(x,z);  %# Compute your output, which should be a 13-by-21 matrix
index = (x-1).^2 + (z-1).^2 <= 1;  %# Logical index of elements inside the circle
output(index) = 0;  %# Set the output values inside the circle to 0
i=1时的
:大小(x,1)
对于j=1:尺寸(x,2)

如果((x(i,j)-1)^2+(z(i,j)-1)^2@gnovice:在这个编辑过的版本中,我看不到x,为什么?我认为前面的答案更好,因为我想发射12个矩阵元素,它们可以由上述边界组成(我是指x&z)但是输出是一个13×21的矩阵,其他元素是1。我应该给代码添加一些命令吗?@Shabnam:你必须更清楚一点。你到底想得到什么结果?一个13×21的矩阵,用于
x
z
,圆圈外的值设置为0,或者只是12个
x
z
v的集合圆内的值?@gnovice:由X=(-5:.5:5)Z=(-3:.5:3),[X Z]=meshgrid(X,Z)组成的矩阵元素如果x的值在-5到5之间,z的值在-3到3之间,我想发出这些元素,它们的x或z或两者都是@Shabnam:好的,所以从你的问题和你的第三条评论来看,你的第二条评论的结尾是不精确的,甚至是错误的。除此之外,侏儒在他的第二或第三条版本中回答d回答您的问题-否则您需要编辑您的问题,以提供三行以上的代码,以便我们能够找出答案在什么时候与您想要/需要的不匹配。@Shabnam:
f(x,z)
在gnovice中,答案是元代码:它代表要从中删除圆的输出变量中的任何内容。如果要从x和z中删除圆,则需要运行两次代码,一次替换
f(x,z)
先使用
x
再使用
z
。如果计算一些力作为x和z的函数,
f(x,z)
将是计算力的公式……这有什么帮助吗?@gnovice:在这个编辑版本中,我看不到x,为什么?我认为前面的答案更好,因为我想发射矩阵的12个元素,它们可以由上述边界组成(我指的是x&z)但是输出是一个13×21的矩阵,其他元素是1。我应该给代码添加一些命令吗?@Shabnam:你必须更清楚一点。你到底想得到什么结果?一个13×21的矩阵,用于
x
z
,圆圈外的值设置为0,或者只是12个
x
z
v的集合圆内的值?@gnovice:由X=(-5:.5:5)Z=(-3:.5:3),[X Z]=meshgrid(X,Z)组成的矩阵元素如果x的值在-5到5之间,z的值在-3到3之间,我想发出这些元素,它们的x或z或两者都是@Shabnam:好的,所以从你的问题和你的第三条评论来看,你的第二条评论的结尾是不精确的,甚至是错误的。除此之外,侏儒在他的第二或第三条版本中回答d回答您的问题-否则您需要编辑您的问题,以提供三行以上的代码,以便我们能够找出答案在什么时候与您想要/需要的不匹配。@Shabnam:
f(x,z)
在gnovice中,答案是元代码:它代表要从中删除圆的输出变量中的任何内容。如果要从x和z中删除圆,则需要运行两次代码,一次替换
f(x,z)
先用
x
然后用
z
。如果你计算某个力作为x和z的函数,
f(x,z)
将是计算该力的公式……这有什么帮助吗?