Clear Filters
Clear Filters

Very tricky:Manipulation with complex array

2 views (last 30 days)
I need to write a m.file function for this.
For example
array X = [4, 1, 1, 3, 8, 12], I need to make the array which will contain bold ones as well Y = [4, 1, 5, 1, 3, 4, 8, 12, 20].
Jovan Jovovic
Jovan Jovovic on 19 Sep 2022
I was thinking to make 3 sub arrays,one array will go with even(2:2:end),one will go with odd(1:2:end),and one will be sum of first element of the both arrays.
After that i would combine it first element of each array,than second element of each array.
The problem is that i need it to make in a m.file with kinda a algorithm method.
However i will try to make it with function reshape.
If you have some additional advice i would be thankful

Sign in to comment.

Accepted Answer

Fabio Freschi
Fabio Freschi on 19 Sep 2022
Edited: Fabio Freschi on 19 Sep 2022
Following @Paul suggestion
% original vector
X = [4, 1, 1, 3, 8, 12];
% reshape to have 2xN vector
W = reshape(X,2,[]);
% calculate the sum
S = sum(W,1);
% concat the vector and reshape
Y = reshape([W; S],1,[])
Y = 1×9
4 1 5 1 3 4 8 12 20
Fabio Freschi
Fabio Freschi on 19 Sep 2022
Why using for loops when the vectorized version is effective, cleaner and more efficient?
Jovan Jovovic
Jovan Jovovic on 19 Sep 2022
Edited: Jovan Jovovic on 19 Sep 2022
Because this tasks want from me to learn logic of the Matlab.I know its absolutely better like this.
But maybe i will get problem like this and i will be stucked if i dont know some function.
Write a m.file which is asking to enter array X (integer numbers),which will make a new array Y .Elements of the array Y are sum from even digits of elements array X. If some element of array X is not inteneger,make a comment about error.
For example X = [81, 19, 102, 22, 12, 21] Y = [8, 0, 2, 4, 2, 2]
And I will need to use the loop to see is there a even digit in every number

Sign in to comment.

More Answers (0)


Find more on Resizing and Reshaping Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!