Reshaping with Different Sizes

There are two lines of code in someone's script that I can't figure out how it works. Here is the code and attached is a .mat file with the variables themselves. Note that the .mat file begins with the original regionMat_m, and once you run the code regionMat_m changes.
bar = tmp(rnum(1:rc));
regionMat_m = reshape(bar(regionMat_m),R,C);
bar and regionMat_m have conflicting sizes of 1x156 and 256x400 respectively, so I'm not sure how bar(regionMat_m) even compiles. Once it does compile, I don't see the correlation between the output and the input. Help would be much appreciated!
Sidenote: I know bar is also a MATLAB function for graphing. I don't know why the variable is named bar. I didn't write this code! Just trying to figure out what is going on.

 采纳的回答

There is no requirement that an index array be the same size as the array being indexed. Example:
values=[20,30,40]
values = 1×3
20 30 40
values(ones(5))
ans = 5×5
20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息

产品

版本

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by