here is my task:
Create two arrays x and y, whose entries are defined as x = i, y = j i = 1, 2, 3, 4, 5. y=5 − 2j, j = −2, −1, 0, 1, 2. Then, compute the cubed sum of these two vectors in two different ways. First, use a for loop to construct the vector z as z = (x + y )^ 3 , i = 1, 2, 3, 4, 5. my code: %Vectorization clc; clear; %x=i; %array created per spec %i=[1 2 3 4 5]; %array created per spec y=5-2j; %array created per spec j=[-2 -1 0 1 2]; %array created per spec z=(y).^3; %formula to test for loop for m=j t=z end the result: t = 65 - 142i t = 65 - 142i t = 65 - 142i t = 65 - 142i t = 65 - 142i I know the answer should be t= (the cube for the elements in j) I'm new to octave but I've always needed adult supervision with loops. What am I missing? |
"i" and "j" are sqrt(-1). Use something else "ii" and "jj" is what I normally do. Dmitri. On Mon, Jun 19, 2017 at 6:47 PM, naryana.shankara <[hidden email]> wrote: here is my task: "i" and "j" are sqrt(-1). Use something else. My choise : "ii" and "jj" _______________________________________________ Help-octave mailing list [hidden email] https://lists.gnu.org/mailman/listinfo/help-octave |
In reply to this post by naryana.shankara
got rid of i and j my code looks like this: and the output is:%Vectorization clc; clear; a=[1 2 3 4 5]; %array created per spec x=a; %array created per spec b=[-2 -1 0 1 2]; %array created per spec y=5-2.*b; %array created per spec z=(y+x).^3; %formula to be solved in loop for m=a t=z end t = 1000 729 512 343 216 t = 1000 729 512 343 216 t = 1000 729 512 343 216 t = 1000 729 512 343 216 t = 1000 729 512 343 216 >> t = 1000 729 512 343 216 >> or t= 1000 t= 729 t= 512 t= 343 t= 216 >> Did I leave something out or forget to add something? Thank you for your help On Mon, Jun 19, 2017 at 5:47 PM, naryana.shankara <[hidden email]> wrote: here is my task: _______________________________________________ Help-octave mailing list [hidden email] https://lists.gnu.org/mailman/listinfo/help-octave |
In reply to this post by naryana.shankara
On Tue, Jun 20, 2017 at 1:47 AM, naryana.shankara <[hidden email]> wrote: here is my task: First of all, I would say it is an ill-formed question. In the introduction, two arrays are defined, however the position is also defined, especially for the y-array. So in a formal sense only z1 and z2 are defined. When declaring your array, first define the index then use it. j=-2:2; y=5-2*j; Likewise for x. _______________________________________________ Help-octave mailing list [hidden email] https://lists.gnu.org/mailman/listinfo/help-octave |
In reply to this post by naryana.shankara
On Tue, Jun 20, 2017 at 2:26 AM, shankara naryana <[hidden email]> wrote:
Actually you already wrote the vectorized form. There is no need for the for loop anymore For the for loop solution, you would need to calculate the solution for each index separately. I do not know if my other mail came through. There are network problems in the Netherlands. But I think the assignment is ill-formed. Purely from a methematical perspective, only z_1 and z_2 are defined. _______________________________________________ Help-octave mailing list [hidden email] https://lists.gnu.org/mailman/listinfo/help-octave |
On 06/19/2017 10:17 PM, Kire Pudsje wrote:
> > > On Tue, Jun 20, 2017 at 2:26 AM, shankara naryana > <[hidden email] <mailto:[hidden email]>> wrote: > > got rid of i and j my code looks like this: > > %Vectorization > clc; > clear; > a=[1 2 3 4 5]; %array created per spec > x=a; %array created per spec > b=[-2 -1 0 1 2]; %array created per spec > y=5-2.*b; %array created per spec > z=(y+x).^3; %formula to be solved in loop > for m=a > t=z > end > > > Actually you already wrote the vectorized form. There is no need for the > for loop anymore > For the for loop solution, you would need to calculate the solution for > each index separately. > > I do not know if my other mail came through. There are network problems > in the Netherlands. > But I think the assignment is ill-formed. > Purely from a methematical perspective, only z_1 and z_2 are defined. It appears this assignment is to demonstrate two ways to calculate the cube of the sum. x = [1 2 3 4 5]; b=[-2 -1 0 1 2]; % Loop to calculate y for idx = 1:size(b,2) y(idx) = 5 - 2 * b(idx); endfor % Loop to calculate z for idx = 1:size(y,2) z(idx) = ( x(idx) + y(idx) ) ^ 3; endfor % vector method x = 1:5; y = ( 5 - 2 .* [-2:2] ); z = ( x + y ) .^ 3; %Or, simply z = ( [1:5] + ( 5 - 2 .* [-2:2] ) ) .^ 3 Tom Dean _______________________________________________ Help-octave mailing list [hidden email] https://lists.gnu.org/mailman/listinfo/help-octave |
Free forum by Nabble | Edit this page |