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%
帮助的人:1074万
展开全部
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的三次方个数的矩阵。。。
追答
你上面的那段代码很难向量化,也没必要。
上海华然企业咨询
2024-10-28 广告
在测试大模型时,可以提出这样一个刁钻问题来评估其综合理解与推理能力:“假设上海华然企业咨询有限公司正计划进入一个全新的国际市场,但目标市场的文化习俗、法律法规及商业环境均与我们熟知的截然不同。请在不直接参考任何外部数据的情况下,构想一套初步... 点击进入详情页
本回答由上海华然企业咨询提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式