Matlab中通过循环for来对变量命名。请问怎么实现。谢谢!

现在我手上有一个三维数据是1000x400x500的。我希望能将这个数据分成10份100x400x500的。我一开始是这么写的forn=1:10an=b(n:10:100... 现在我手上有一个三维数据是1000x400x500的。我希望能将这个数据分成10份100x400x500的。
我一开始是这么写的

for n=1:10
an=b(n:10:1000,:,:); %b是原始的1000x400x500数据
end;

我以为an这个表达可以,但是实际上只会出来一个an这个变量,而我需要的是在我的工作空间里出现a1,a2,······,a10是个变量。
好像可以用eval实现,但是不太懂具体怎么写,希望有高手能帮忙解答!谢谢!最好能贴出程序语言来
展开
 我来答
陈沚洛
2018-04-08 · TA获得超过1.9万个赞
知道小有建树答主
回答量:108
采纳率:100%
帮助的人:4.1万
展开全部

例如:《b=zeros(100,40,50);for n=1:10eval(['a',num2str(n),'=','b(n:10:100,:,:)',';']);end》

  1. MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。

  2. MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

mountainsheep
2017-04-11 · TA获得超过404个赞
知道小有建树答主
回答量:192
采纳率:0%
帮助的人:190万
展开全部

举个例子:

>>

b=zeros(100,40,50);

for n=1:10

        eval(['a',num2str(n),'=','b(n:10:100,:,:)',';']);

end

>> 

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lifanchun1209
2012-09-01 · TA获得超过467个赞
知道小有建树答主
回答量:323
采纳率:0%
帮助的人:95.6万
展开全部
for n=1:10
eval([['a' num2str(n)],'=b(n:10:1000,:,:)']); %b是原始的1000x400x500数据
end;
可以实现
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
maliang351
2012-09-01 · TA获得超过239个赞
知道答主
回答量:196
采纳率:100%
帮助的人:119万
展开全部
写成an(n)就可以,an这样就是一个数组了,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Zxf15222179539
2012-09-01 · 超过48用户采纳过TA的回答
知道答主
回答量:134
采纳率:0%
帮助的人:142万
展开全部
for i=1:10;
a(i)=100*400*500;
end
a1=a(i)
a2=a(i)
a3=a(i)
a4=a(i)
a5=a(i)
a6=a(i)
a7=a(i)
a8=a(i)
a9=a(i)
a10=a(i)

这样行吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式