How to plot multiple Graphs with nearly similar name of ordinate arrays
3 次查看(过去 30 天)
显示 更早的评论
Hey,
I have 60 arrays which I called Eigenform1 until Eigenform60. They all share the exact same x-Values and now i want to plot them.
And there is my Problem. I would like to use a for loop like
for i=1:60
plot(x_Values,[ Eigenvalues i ],'g-')
end
Where i in the expression i used to adress to a certain array of the 60 arrays i already defined.
Is there any solution to fix this (There surely is one I simply don't know)
Thanks and Bye
0 个评论
回答(2 个)
Eamon Gekakis
2022-6-23
That being said, this may help. In place of [ Eigenvalues i ], try this:
eval(strcat('Eigenform',num2str(ii)))
This will turn your ii iterator value into a string, combine the name string "Eigenform" with the iterator string, and then eval will evaluate the string and call the Array with the same name as the string.
dpb
2022-6-23
"I have 60 arrays which I called Eigenform1 until Eigenform60. ... And there is my Problem. ..."
Indeed it is...
"Is there any solution to fix this..."
"Yes, Virginia, there is a Santa Claus!"
60 arrays which I called Eigenform1 until...Just "DON'T DO THAT!!!" :)
Use a cell array or a 2D array(*) where each column becomes the variable you created instead of another variable.
Specific code would depend on how you created these in the beginning; show us how that was done and we can guide to a much better and MATLAB-friendly solution.
For plotting and many other operations, the 2D or 3D array is ideal -- MATLAB is vectorized to operate on 2D arrays by column for most of its builtin anaysis functions;
plot(x,y)
where x is a vector and y a 2D array or same number of rows as numel(x) will plot each column versus x automagically; no other intervention needed. While 60 variables on one plot may be too many, you can create subset indexing expressions to select those wanted also dynamically.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!