How to write function for above combine matrix?
2 次查看(过去 30 天)
显示 更早的评论
A = [2,4]
A = [1 1 1 1 ; 1 1 1 1; 2 2 2 2; 2 2 2 2; 3 3 3 3; 3 3 3 3]
what will be the funtion for A= [7,4]
or using any random variable?
A should give (3n by m) matrix
15 个评论
Adam Danz
2019-6-6
NOTE: The code provided above by OP is apparently incorrect and the pattern is still unexplained.
vivek jason
2019-9-23
This is what I came up with ...Hope this helps!!!
function T= trio(n,m);
n=3*n;
T1= ones(n/3,m);
T2= 2*ones(n/3,m);
T3= 3*ones(n/3,m);
T= [T1;T2;T3];
回答(7 个)
saurav Tiwari
2020-6-13
function T=trio(n,m)
a=ones(n,m);b=2*a;c=3*a;
T=[a;b;c];
end
4 个评论
Chandan Kumar
2021-2-23
function T=trio(n,m)
a=ones(n,m);b=2.*a;c=3.*a;
T=[a;b;c];
he should have added dot to perform array multiplication.
Walter Roberson
2021-2-23
When at least one of the operands is a scalar then the * operator does element by element multiplication and acts like .*
Adam Danz
2019-6-6
编辑:Adam Danz
2019-6-6
n = 7;
m = 3;
A = repelem((1:ceil((3*n)/2))',2,m);
9 个评论
Walter Roberson
2019-6-6
Change Adam's ceil() to floor(). Then at the end if size(A,1) is not a multiple of 3, append 3-mod(number_of_rows,3) copies of a row with the next integer.
RAHUL ANTIL
2019-6-6
3 个评论
dpb
2020-6-13
Uhhhh...which combinaton "rule" is that?
You have N copies of two but only one for the last...whassup w/ that?
AN Roza
2020-4-23
V. Given
3157926
5502222
221810.58
7925651
5511591
1172396
00.50.370.20.10.9
x
Write the answer of the following comment:
a. x(3,5)
b. x(7,7)
c. x(1:5, :)
d. x(1:end, :)
1 个评论
dpb
2020-6-13
编辑:dpb
2020-6-14
" want above pattern, matrix size is [21,3]."
ADDENDUM/ERRATUM:
[But we have now learned that that is NOT even the correct description of the assignment -- there is no "odd man out" in the desired result, the output is always a multiple of 3x the requested N so there is never an odd set.]
Original solution moved to end solves the problem as first described simply to reproduce a given stated output; will leave but the problem described is solved as
function T=trio(n,m)
% build 3*n x m output matrix with thirds of vectors of 1, 2, 3, respectively.
T=kron([1:3].',ones(n,m));
end
I would suggest NOT turning in the above Answer to a homework assignment, however -- is NOT going to pass the smell test of something most beginning students will have come up with on own.
"Just sayin'..." :)
END ADDENDUM/ERRATUM --
ORIGINAL ANSWER FOLLOWS...BUT ANSWERS DIFFERENT QUESTION/PATTERN
R=21;C=3;N=2; % define parameters, R, C, repeat count
P=kron([1:ceil(R/N)].',ones(N,C)); % pattern complete N*ceil(R/N) rows
P=P(1:R,:); % fixup for odd man out if mod(R,N)~-0
results in
>> P=kron([1:ceil(R/N)].',ones(N,C)); P=P(1:R,:)
P =
1 1 1
1 1 1
2 2 2
2 2 2
3 3 3
3 3 3
4 4 4
4 4 4
5 5 5
5 5 5
6 6 6
6 6 6
7 7 7
7 7 7
8 8 8
8 8 8
9 9 9
9 9 9
10 10 10
10 10 10
11 11 11
K>>
0 个评论
Cyrus David Pastelero
2020-6-22
function T = trio(n,m)
T1 = ones(n,m); //this just creates the body for us to use, you can also use zeros
T = [T1;T1+1;T1+2]; //adding them base on the required output
end
1 个评论
Adam Danz
2020-6-22
编辑:Adam Danz
2020-6-22
This doesn't even come close to producing the desired outputs.
To come closer, you would need a 3rd input to indicate the number of replications and then you could use that 3rd input to produce T instead of manually concatenating replications of T1.
But even then the function wouldn't be doing what the OP is asking for.
Ibad Ur Rahman
2022-3-30
I got the following answer to this question.....
function T=trio(n,m)
a=ones(n,m);
b=2*ones(n,m);
c=3*ones(n,m);
T=cat(1,a,b,c);
end
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!