[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Differences between Octave and Matlab on division (/) operator with
From: |
James Sherman Jr. |
Subject: |
Re: Differences between Octave and Matlab on division (/) operator with scalar and vector |
Date: |
Sat, 25 Mar 2017 15:03:17 -0400 |
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.
James Sherman