help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: vector function within vector function


From: Nicholas Jankowski
Subject: Re: vector function within vector function
Date: Tue, 29 Dec 2015 17:45:02 -0500


On Dec 29, 2015 4:57 PM, "ken1866" <address@hidden> wrote:
>
> Hi, I'm brand new to Octave and am trying to understand the concept of vector
> processing.  I created the following function that works fine with scalar
> input but when I try vector input I get an error message about nonconformant
> arguments.
>
>
>
> I get that xx and yy are 100x100 and x and y are 1x6 but I don't see why
> that matters.  What am I doing wrong and how can I modify to make it work?
> P.S. It works fine if I convert the last statement to a double for loop, but
> that seems like not using Octave as intended.  Appreciate any
> comments/suggestions.
>
>

Octave assumes all basic variables are matrices. As such, matrix multiplication rules apply any time you use the * operator for a greater than 1×1 array.  The general conformance rule for matrix multiplication is: [m×n] *[n×p] = [m×p]

If you want it to just do vectorised, or element by element, math you want to use .* ,  .^ and ./  .  Also in octave (but not in matlab) if the . operators see something with unequal dimensions it will try to project or broadcast along those other dimensions.

Create a few vectors and arrays and test out different operations from the command line. See what inputs and outputs you get and which give errors. Always a good idea to pull out pieces of failing code to see where results stop doing what you expect

Nick j.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]