Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Matrix Output (Matlab)

  1. Mar 16, 2009 #1

    Air

    User Avatar

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

    Code (Text):
    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.
     
  2. jcsd
  3. Mar 16, 2009 #2
    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 (Text):

    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
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?
Similar Discussions: Matrix Output (Matlab)
Loading...