Very tricky:Manipulation with complex array

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].

3 commentaires

Paul
Paul le 19 Sep 2022
Hi Jovan,
What have you tried so far?
You may be interesed in reshape and sum
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
Thank you tho

Connectez-vous pour commenter.

 Réponse acceptée

Fabio Freschi
Fabio Freschi le 19 Sep 2022
Modifié(e) : Fabio Freschi le 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

3 commentaires

Is there any way to make it with a for,while,if functions?
So there will be array X
Array Y will took (x(1),x(2) than x(x(1)+x(2)),x(3),x(4)..
Why using for loops when the vectorized version is effective, cleaner and more efficient?
Jovan Jovovic
Jovan Jovovic le 19 Sep 2022
Modifié(e) : Jovan Jovovic le 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

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by