matlab for循环向量化是什么东西,帮我向量化下面循环:

m_point=[0000];fori=1:100forj=1:100fork=1:100d=sqrt(i.^2+j.^2+k.^2);if(d<200)add=[ijk... m_point=[0 0 0 0];
for i=1:100
for j=1:100
for k=1:100
d=sqrt(i.^2+j.^2+k.^2);
if(d<200)
add=[i j k d];
m_point=[m_point;add];
end
end
end
end
展开
 我来答
victoriajll
推荐于2017-11-24 · TA获得超过4884个赞
知道大有可为答主
回答量:654
采纳率:100%
帮助的人:1053万
展开全部
for循环并非都能向量化,而且并非所有的向量化能使优化程序。你上面的那段代码不容易向量化,也没必要。
向量化实际上就是矩阵化,利用点运算代替for循环,利用matlab软件强大的矩阵运算能力优化程序,其含义如下:
sum1=0;
for i=1:100
for j=1:100
for k=1:100
d=i.^2+j.^2+k.^2;
sum1=sum1+d;
end
end
end
向量化:
i=1:100;j=1:100;k=1:100;
sum1=sum(i.^2+j.^2+k.^2);
更多追问追答
追问
我的程序不是想加起来啊
i=1:100;j=1:100;k=1:100;
d=sqrt(i.^2+j.^2+k.^2);
这样做,d的只是100个数的一个矩阵
但我的那个三次嵌套d的大小应该是100的三次方个数的矩阵。。。
追答
你上面的那段代码很难向量化,也没必要。
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式