Loop for multiple calculation

Hi everyone,
I have a bunch of calculations like this:
F1 = (H(4,1) - baseline1) / baseline1
F2 = (H(20,1) - baseline2) / baseline2
F3 = (H(36,1) - baseline3) / baseline3
...
F20 = (H(308,1) - baseline20) / baseline20
As you can see, the row in H goes up in an increment of 16. I thought a loop may be good for this but am unsure how to go about it. Does anyone have any suggestions?
Thanks,
Le

5 个评论

What is baseline?
Scalar?
Vector? What are its dimensions?
Baseline is 1x1 double. It's a number I calculated from a preivous step.
Are you storing baseline1 and the rest, or are they one-offs?
I ask because you could as easily store them as baseline(1), etc. That would make it much easier for you to reference them in a loop.
Is H a vector (308x1) or matrix?
(I’m doing my best to figure out what you are doing.)
I'm sorry my question wasn't clear. I'm not storing baselines. The baselines are just intermediate values that are calculated prior to this. H is a matrix. In this case it's 308x1 but I can see it being 308x8 once I adapt the script to run on multiple region of interests.
OK, I've modified my answer code to take this new information into account.

请先登录,再进行评论。

 采纳的回答

You can't really have a loop because all your baseline variable have a different name. (Well actually you can but no one wants to show you how because it's not recommended). See the FAQ: http://matlab.wikia.com/wiki/FAQ#How_can_I_create_variables_A1.2C_A2.2C....2CA10_in_a_loop.3F
That's why we won't tell you how to make F1, F2, F3, etc. If you want to have F be an array and baseline be an array, then that's normal, and you can use a loop and we will tell you how to do that:
for k = 1 : 20
hIndex = 4 + (k-1)*16;
baseline = whatever; % Not sure how you calculate this.
F(k) = (H(hIndex,1) - baseline) / baseline;
end
Though I don't know why you want the row index of H to go like that.

1 个评论

Thank you, Image Analyst! I appreciate your (and everyone's) being patient with me. I'm quite new to working with Matlab as you can tell.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Programming 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by