MATLAB: expressing a double index equation as a matrix

Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
6 replies · 4K views
Deathcrush
Messages
36
Reaction score
0
Just an urgent doubt, I am new to matlab.

So imagine an equation that has two indexes, and that can be expressed as a matrix, how can I do something like this in Matlab? using a for cycle?
 
Physics news on Phys.org
like for example, if I have Iij=vi/vj considering that I know v for every i or j
 
Deathcrush said:
Just an urgent doubt, I am new to matlab.

So imagine an equation that has two indexes, and that can be expressed as a matrix, how can I do something like this in Matlab? using a for cycle?

Often unnecessary to use a for loop, but you can always do things like this:
Code:
a = [1 2 3; 4 5 6; 7 8 9];
for i = 1:3,
    for j = 1:3,
        a(i,j)
    end
end
Matrices is pretty much what MATLAB is all about. Probably, all your beginner questions can be found in various MATLAB documentation. I'd suggest finding it and reading it.
 
well, the problem is that my equation is not so simple, it is actually a pretty big fluid dynamics model for calculating the viscosity of a mixture of 10 gases, so I have an equation, lots of constant properties, and I am trying to get a 10x10 matrix :S
 
Deathcrush said:
like for example, if I have Iij=vi/vj considering that I know v for every i or j
I'm rusty on my MATLAB, but something like this perhaps?

Code:
for i = 1:length(v),
    for j = 1:length(v),
        r(i,j) = v(i)/v(j);
    end
end
r
Note that division by zero will happen if there's a single 0 in there...
 
oh thanks a lot Grep, that REALLY helped me, now I've finished :)