How do I input two different vectors, r and h, into an equation?
Info
This question is closed. Reopen it to edit or answer.
Show older comments
So I'm creating a function for C, that needs to input the first element of vector r, and the first element of vector h, and calculate the cost. I chose to create a for loop, and the first part works fine for calculating h. Once I obtain h, I use that in an equation for C that is a function of both r and h. **r is supposed to be from 2:10. ** h kept beginning with 0, so I changed my code to r+1, with r being from 1:9 to get my correct vector for h.
After this first code runs, r changes to 10. When I run my 2nd code, again r changes to 10, and my loop runs the following (r,h) values: (10, 46.xx), (10, 19.xx), etc. when it should be: (2, 46.xx), (3, 19.xx), etc. Essentially my radius should iterate 2,3,4...10 but it automatically changes to 10. How do I get it to iterate elements of both r and h?
h = 0;
for r= 1:9
h(r) = (600 - (2*pi*(r+1)*(r+1)*(r+1)/3))/(pi*(r+1)*(r+1));
end
display(h);
----------------------------------------------------------------------
C = 0;
for r= 1:9 h= h
C = 300*2*pi*(r+1)*(h) + 400*pi*(r+1)*(r+1);
end
Answers (1)
Raj
on 2 May 2019
I am not sure where is the issue.I have just tweaked the second half of your code a little bit. The second loop uses values of (r,h) as (2, 46.xx), (3, 19.xx), etc. and computes value of C accordingly for each combination:
C = 0;
for r= 1:9
%h= h
C = 300*2*pi*(r+1)*h(1,r) + 400*pi*(r+1)*(r+1)
end
So things look fine to me.
2 Comments
Billy Worley
on 2 May 2019
Raj
on 2 May 2019
1) "Running this just give me one C value result"- The code is doing what it is supposed to do. C value gets updated for every run of the loop and in the end you get only one value which is the last value. If you want to store all the 9 values then use this (same as what you have used in your first loop):
C = 0;
for r= 1:9
%h= h
C(r) = 300*2*pi*(r+1)*h(1,r) + 400*pi*(r+1)*(r+1)
end
display(C);
2) You can change increment value of 'for' loop like this
for r=1:0.5:10 % r starts at 1 and increments in steps of 0.5 till 10
This question is closed.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!