help-octave
[Top][All Lists]
Advanced

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

Re: Differences between Octave and Matlab on division (/) operator with


From: José Luis García Pallero
Subject: Re: Differences between Octave and Matlab on division (/) operator with scalar and vector
Date: Sat, 25 Mar 2017 20:05:09 +0100

2017-03-25 20:03 GMT+01:00 James Sherman Jr. <address@hidden>:
> On Sat, Mar 25, 2017 at 2:51 PM, Juan Pablo Carbajal
> <address@hidden> wrote:
>> On Sat, Mar 25, 2017 at 6:48 PM, José Luis García Pallero
>> <address@hidden> wrote:
>>> Hello:
>>>
>>> Using this variables:
>>>
>>> a = 2;
>>> b = [1 2 3];
>>>
>>> For the operation a/b or 2/b or b/2 I obtain an error in Octave and
>>> Matlab due to wrong dimensions. But if I declare b as a vector column
>>> as b=[1 2 3]' I obtain in Octave:
>>>
>>>>> a/b
>>> ans =
>>>
>>>    0.14286   0.28571   0.42857
>>>
>>> and in Matlab:
>>>
>>>>> a/b
>>>
>>> ans =
>>>
>>>          0         0    0.6667
>>>
>>> What is the reason of this difference? Why the operation is legal with
>>> b as column vector and illegal with row vector?
>>>
>>> Thanks
>>>
>>> --
>>> *****************************************
>>> José Luis García Pallero
>>> address@hidden
>>> (o<
>>> / / \
>>> V_/_
>>> Use Debian GNU/Linux and enjoy!
>>> *****************************************
>>>
>>> _______________________________________________
>>> Help-octave mailing list
>>> address@hidden
>>> https://lists.gnu.org/mailman/listinfo/help-octave
>> In Octave a/b when b is a matrix (any size), is equivalent to
>> a*inv(b), in this case a*pinv(b) (try it out).
>> I can't see what matlab is doing, but the last element is 2/3.
>>
>> I also do not understand why there is an error in the first case,
>> should given the same result...i.e. apply a*pinv(b) when b is a row
>> vector
>>
>> _______________________________________________
>> Help-octave mailing list
>> address@hidden
>> https://lists.gnu.org/mailman/listinfo/help-octave
>
> I just tried this on MATLAB version 2016a, and got the following results:
>
>>> a = 2;
>>> b = [1 2 3];
>>> 2/b
> Error using  /
> Matrix dimensions must agree.
>>> a/b
> Error using  /
> Matrix dimensions must agree.
>>> b/2
> ans =
>     0.5000    1.0000    1.5000
>
> Are you sure that b/2 caused an error?  That is well defined and
> should produce elementwise division by 2.

Sorry, it was a mistake. b/2 peoduces correct results

>
> James Sherman



-- 
*****************************************
José Luis García Pallero
address@hidden
(o<
/ / \
V_/_
Use Debian GNU/Linux and enjoy!
*****************************************



reply via email to

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