Matrix Output (Matlab)

Air

202
0
I am making a script-m file to produce results of a formula in a Matrix output.

Code:
function s = calc(a, b)

i = [-a: 1: a];
j = [-b: 1: b];

k = i.^2 + j.*i;

A = [i' j' k']

disp('i  j  k'), disp(A)
But, it does not consider all combination. How can I make it stop at a 'i' value so all 'j' values can be matched to that and solved for 'k' before proceeding. In my code, it just does one round of 'i' and 'j' values.
 
175
1
I'm not sure I understand the question...

If you want to create a matrix k that contains every combination of the i and j values, then you might try something like:

Code:
function s = calc(a, b)

i = [-a: 1: a];
j = [-b: 1: b];

%  Use an outer for loop to iterate through all of the i values (uses index u)
for u = 1:1:max(size(i))
    %  Use an inner for loop to iterate through all of the j values (uses index v)
    for v = 1:1:max(size(j))
        %  Here we construct k to have two dimensions, the first corresponding to
        %  the i value, the second corresponding to the j value
        k(u, v) = i(u)^2 + j(v) * i(u);
    end
end

%  If i and j are different lengths, MATLAB won't let you do this...
A = [i' j' k']

disp('i  j  k'), disp(A)
Hope this helps,

Kerry
 

The Physics Forums Way

We Value Quality
• Topics based on mainstream science
• Proper English grammar and spelling
We Value Civility
• Positive and compassionate attitudes
• Patience while debating
We Value Productivity
• Disciplined to remain on-topic
• Recognition of own weaknesses
• Solo and co-op problem solving
Top