Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

In Matlab: Write a function that creates a string out of letters in a 2-dimensio

ID: 3764525 • Letter: I

Question

In Matlab:

Write a function that creates a string out of letters in a 2-dimensional array of characters. Your function should take an array of characters, the indices of a starting letter, a length, and a direction as inputs, and it should return a string of letters. Submit GetWord.m to eCampus. To simplify your direction inputs, 1 = left-to-right, 2 = right-to-left, 3 = down, 4 = up, 5 = top left to bottom right, 6 = bottom right to top left, 7 = top right to bottom left, and 8 = bottom left to top right.

Explanation / Answer

function s = GetWord(chr,i,j,len,dir)
    s = ''
    [x,y] = size(chr);
    if (dir == 1)
        for k = j:y
            s = s + chr(i,k);
            len = len - 1;
            if (len == 0)
                break;
            end
        end
    elseif (dir == 2)
        k = j;
        while (k > 0)
            s = s + chr(i,k);
            len = len - 1;
            if (len == 0)
                break;
            end
            k = k - 1;
        end
    elseif (dir == 3)
        for k = i:x
            s = s + chr(k,j);
            len = len - 1;
            if (len == 0)
                break;
            end
        end
    elseif (dir == 4)
        k = i;
        while (k > 0)
            s = s + chr(k,j);
            len = len - 1;
            if (len == 0)
                break;
            end
            k = k - 1;
        end
    elseif (dir == 5)
        while (i <= x && j <= y)
            s = s + chr(i,j);
            i = i + 1;
            j = j + 1;
        end
    elseif (dir == 6)
        while (i > 0 && j > 0)
            s = s + chr(i,j);
            i = i - 1;
            j = j - 1;
        end
    elseif (dir == 7)
        while (i > 0 && j <= y)
            s = s + chr(i,j);
            i = i - 1;
            j = j + 1;
        end
    elseif (dir == 8)
        while (i <= x && j > y)
            s = s + chr(i,j);
            i = i + 1;
            j = j - 1;
        end
    end
end

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote