Python Forum

Full Version: Finding all maximum values in a matrix
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi there,

I am trying to compute all of the maximum values in a matrix using a "for loop" and needed some assistance. How would you go about doing this? I know that you would need to use the built-in max function, but I am unsure of how to use it inside a loop.

Thanks,
What are all of the maximum values? Do you mean maximum value of each row? In that case iterate over each row of matrix and call max() function, as you have already found yourself. If you need help with code, show us what you have done so far (in Python code tags) and tell what the problem is.
Thank you very much for your reply.

Yes, something like that, except that I am trying to find maximum values over every cell (or grid) within the matrix (called variable "Quantity") for every year for 40 years. This is what I have so far:

Quantity=Q
Count=0

for i in Quantity:
Count=Count+1

print(max(Quantity))


I receive an error when running that, stating: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all(). I guess my code is erroneous?
In addition to the above posting, I receive the following error when I run that code:

"The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()"

What could I be doing wrong?

Any help would be greatly appreciated.

To be clearer, the variable "Quantity" is a 3D matrix that is composed of latitude and longitude (both make up latitude and longitude grid cells) and time (expressed in days).

What I would like to do is compute all maximum values by looping all latitudes, all longitudes, and then loop all days in the period, so that I could compute all maximum values over every grid cell (i.e. composed of latitude and longitude) for every day available, beginning with day 0.

My question is how should I construct a loop to do this?

Please ignore the "counts" in my code two posts above since they are not relevant in this case.

Once again, I would immensely appreciate any assistance.