PDA

View Full Version : URGENT variable name matlab help


mathsgeek
Oct2-09, 01:15 AM
How do i change the variable, so it saves all the values, even if it must happen for 6 different variables name. This is because when i run it, it only saves the values for v_max when n=10 as this is the last iteration. How can i make all the values be saved. My coding is below:

radius=1:0.5:2.5;
total_flow_velocity=5

for n=5:1:10
v_max = (total_flow_velocity.*(1+n).*(1+(2.*n)))./((2.*pi)*((radius.*n).^2))
end

Thanks

JeroenS
Oct2-09, 04:06 AM
probably the best way is to store them in a vector. You define a vector called v_max with a length equal to the amout of values, in your case that is 6:

v_max=[1:6];

then you can store each value in one of the positions of the maxtrix like:

for n=5:1:10
v_max(1,n-4) = (total_flow_velocity.*(1+n).*(1+(2.*n)))./((2.*pi)*((radius.*n).^2))
end

I used n-4 to define column number 1 because you start with n=5. After that you can recall any value by typing:

v_max(1,1) .... v_max(1,6)

good luck!

mathsgeek
Oct2-09, 04:34 AM
ive tried it but i get the error "Subscripted assignment dimension mismatch." ? Also why did u do vmax=[1:6] because for each r value ive made it so i get an answer at each n value, so shouldnt the matrix be a 6x4?

ApexOfDE
Oct2-09, 09:00 AM
JeroenS' code has a mistake inside for loop. v_max(1,n-4) ==> indicate member (1, n-4) of array v_max. However, in the calculation, he forgot to delete the operator for array: (radius.*n). This operator (.*) will return an array radius multipled by n. So, in the left-side, you have 1 variable, not an array but in right side, there is an array. That's the reason matlab throws an error.

My code is:


vM = [];
j = 0;

radius = 1 : 0.5 : 2.5;
tfv = 5;

for n = 5 : 1 : 10
j = j + 1;
nR = 2 * pi * (radius * n).^2;
vM(j, :) = (1 + n) * (1 + 2*n) * tfv ./ nR;
end


Hope this help.

p/s: i am totally confused when i read your code. There are many unnecessary parentheses and operators.

mathsgeek
Oct2-09, 07:41 PM
Thanks so much, yeh i don't know why i use so many brackets and that, buts it because im use to the calculator and have only been learning MATLAB for a few weeks now :P but im beginning to learn to use less brackets :P