Script that performs the same as MATLAB function.

4 Ansichten (letzte 30 Tage)
David Hughes
David Hughes am 4 Aug. 2015
Bearbeitet: Walter Roberson am 4 Aug. 2015
I am looking to create scripts for some internal functions: repmat, fliplr, flipud, and rot90. I am familiar with how each works but I am not sure where I should start. I have two of the four below.
%This script will perform the same operation as rot90
x = input('Enter the matrix: ');
[m,n] = size(x);
[i,j] = length(x);
y = input('Which direction to rotate the matrix\nEnter -90 or 90: ');
newvec = 0; %This is the variable for the result
if y == -90
%rotate counterclockwise
elseif y == 90
%rotate clockwise
end
%This script will duplicate the user entered matrix and create a new matrix
%by the number of rows and columns specfied by the user.
mat = input('Enter your matrix: \n');
rows = input('Enter number of rows: \n');
cols = input('Enter number of columns: \n');
newvec = zeros(rows,cols,mat);
  8 Kommentare
Steven Lord
Steven Lord am 4 Aug. 2015
And the full text of the error message you receive from your repmat-like script is ... ?
[BTW, I'm assuming you're doing this for homework. If not, I recommend you simply use the functions included with MATLAB.]
David Hughes
David Hughes am 4 Aug. 2015
Bearbeitet: Walter Roberson am 4 Aug. 2015
Yes this is an assignment. The error I was getting was from some changes I made. I've gone back to the beginning and made some additions. I realized I needed to allocate the memory for the resulting matrix. Not getting an error but I am stuck. I am getting the correct size of the resulting matrix but not the correct values. I know that adding i + j in the nested for-loop is not the correct syntax for the correct result. I added i + j as a test and this is where I am stuck.
clear all
clc
mat = input('Enter your matrix: ');
rows = input('Enter number of rows: ');
cols = input('Enter number of columns: ');
[m,n] = size(mat);
newvec = zeros(rows*m,cols*n);
for i = 1:size(newvec)
for j = 1:size(newvec)
newvec2(i,j) = i + j;
end
end
disp(newvec2)

Melden Sie sich an, um zu kommentieren.

Antworten (0)

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by