作者amigoo (阿咪古)
看板MATLAB
标题[问题]如何决定一个不确定名字矩阵中的值
时间Sat May 25 16:21:06 2013
for i:100
if Data(i,9) == a; %假设a=123456
eval(['A' num2str(a) ' = M']); %定义A123456=一个零矩阵M
for j=1:100;
if A123456(j,1) == 0;
但我这边想要用一个变数来命名
像是 if Aa(j,1) == 0; [A123456(j,1)==0]
但这样是无效的
请问有什麽方法可以改善这个问题吗?
A123456(j,1) = 123456;
break
end
end
end
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.116.20.209
※ 编辑: amigoo 来自: 140.116.20.209 (05/25 16:24)
※ 编辑: amigoo 来自: 140.116.20.209 (05/25 16:26)
※ 编辑: amigoo 来自: 140.116.20.209 (05/25 16:32)
1F:→ jatj:eval['if A' num2str(a),'(j,1)==0; A',... 05/25 17:21
2F:→ jatj:num2str(a) '(j,1)=' num2str(a) '; break; end']; 05/25 17:22
3F:→ jatj:也不稍微回报一下有没有看到或是有没有用之类...丢了就走吗 05/26 00:02
j大你好,很抱歉现在才回你文,但我确实是刚刚才看到推文,
如果造成你的不便很不好意思,我也试过你提供的方法了,谢谢
但还是有几个小地方要修正告知你
(1) eval([])有小括号要加
(2)我在使用时发现在break不能直接放在eval里面,否则程式会认为是eval内的运算
所以要把break拿出eval外才有效 [编辑第二点]
谢谢j大的帮忙
※ 编辑: amigoo 来自: 140.116.20.209 (05/26 01:52)
※ 编辑: amigoo 来自: 218.164.3.179 (05/26 19:17)