Multiple functions using indexation numbers
2 次查看(过去 30 天)
显示 更早的评论
Hello,
I've got a problem where i have multiple matrix that have similar names but just changes the number of it. p.e.
A_1=[2 4 4
2 9 1]
A_2=[3 5 1
7 8 9]
A_3= ...
A_4= ...
And then i have a function that sums each line and then keeps the result.
A_1_result=[ 10
12]
A_2_result=[ 9
24]
A_3_result=...
A_4_result= ...
I'do this using 1 for cicle similar to this:
for i=1:2
A_1_result(i)=sum(A_1(i,:);
A_2_result(i)=sum(A_2(i,:);
A_3_result ....
end
Isn't there any possibility to put this in a for loop from 1 to 4 and use p.e.
A_{j}_result(i)=sum(A_{j}(i,:);
Thanks in advance
0 个评论
采纳的回答
Sean de Wolski
2013-1-3
3 个评论
Sean de Wolski
2013-1-3
No, I refuse to use evil eval().
Use a 1x20 cell array as the FAQ suggests. It will make your life much easier.
Jan
2013-1-3
I agree with Sean's suggestion. The FAQ is called FAQ, because these problems occur frequently. And in all cases avoiding EVAL is the best solution.
更多回答(1 个)
Image Analyst
2013-1-3
I would say that, if you could even do it, for only 4 variables the illegibility it would add to your code would make it not worth it. Right now it's intuitive and easy to follow - why mess it up? You wouldn't even be reducing that many lines of code.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!