Hello,
Le 10/02/2016 09:49, Lester Anderson a écrit :
Hi all,
A quick one. I am looking for the Scilab equivalent to padarray in Matlab.
In the Matlab code the line is:
datapad = padarray(data, [rdiff cdiff], 'replicate') where cdiff/rdiff
are column/row, with the replicate function padding with the values at
the borders of "data"
The closest I can find in Scilab is: resize_matrix
resMat = resize_matrix(mat, nbRows, nbCols, resType, padding)
Just want to verify I am looking at the correct option.
There is no real Scilab equivalent. Scilab's repmat() could be extended.
For the time being, to process, you may use the 2 following lines:
tmp = [data ; data($, :) .*. ones(addedRows, 1)];
paddedMat = [tmp tmp(:, $) .*. ones(1,addedCols)];
// EXAMPLE:
addedRows = 3; addedCols = 2;
data = grand(4,3,"uin",-9,9)
tmp = [data ; data($, :) .*. ones(addedRows, 1)];
paddedMat = [tmp tmp(:, $) .*. ones(1,addedCols)]
--> addedRows = 3; addedCols = 2;
--> data = grand(4,3,"uin",-9,9)
data =
-5. -1. -7.
-7. 3. -4.
-4. 3. 2.
7. 2. 9.
--> tmp = [data ; data($, :) .*. ones(addedRows, 1)];
--> paddedMat = [tmp tmp(:, $) .*. ones(1,addedCols)]
paddedMat =
-5. -1. -7. -7. -7.
-7. 3. -4. -4. -4.
-4. 3. 2. 2. 2.
7. 2. 9. 9. 9.
7. 2. 9. 9. 9.
7. 2. 9. 9. 9.
7. 2. 9. 9. 9.
HTH
Samuel Gougeon
_______________________________________________
users mailing list
[email protected]
http://lists.scilab.org/mailman/listinfo/users