help-octave
[Top][All Lists]
Advanced

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

Re: [newbie] prefered way to enter the values of a matrix interactively


From: Jean Dubois
Subject: Re: [newbie] prefered way to enter the values of a matrix interactively
Date: Wed, 17 Oct 2012 11:47:31 +0200

Thanks to Ozzy and Juan for the helpfull suggestions, it's indeed a
better idea not to write a for-loop and ask for each element to be
entered

thanks
jean

2012/10/16, Ozzy Lash <address@hidden>:
> On Tue, Oct 16, 2012 at 2:36 PM, Juan Pablo Carbajal
> <address@hidden> wrote:
>> On Tue, Oct 16, 2012 at 9:18 PM, Jean Dubois <address@hidden>
>> wrote:
>>>
>>>
>>> 2012/10/16 Juan Pablo Carbajal <address@hidden>
>>>>
>>>> On Tue, Oct 16, 2012 at 9:04 PM, Jean Dubois <address@hidden>
>>>> wrote:
>>>> > What is the prefered way to enter the values of a matrix
>>>> > interactively. I can imagine this is a common task which can be
>>>> > performed by a predefined matlab-function and it probably is not a
>>>> > good idea to try to program a function myself for this?
>>>> > What I want is something like
>>>> > enter matrix variable name
>>>> > e.g. a
>>>> > enter matrix dimension
>>>> > e.g. 3
>>>> > enter element 1,1
>>>> > enter element 1,2
>>>> > .
>>>> > .
>>>> > .enter element 3,3
>>>> > a=...
>>>> >
>>>> > thanks in advance
>>>> > _______________________________________________
>>>> > Help-octave mailing list
>>>> > address@hidden
>>>> > https://mailman.cae.wisc.edu/listinfo/help-octave
>>>> >
>>>>
>>>> Hi,
>>>> I do not see the point of doing this in an interactive language, but
>>>> anyways check function "input" and "eval"
>>>>
>>>>
>>> Well to give you an example, I want a program which starts by asking the
>>> user to enter two matrices a and b which will be later used for
>>> demonstrating some kinds of matrix-operations in octave e.g. the
>>> difference
>>> between a*b and a.*b just to name one example
>>>
>>> So, what you are telling me is to program it myself, I think I can do
>>> that
>>> but I can't imagine I'm the first one who needs matrices to be entered
>>> interactively therefore I was wondering whether there aren't any
>>> standard
>>> functions available in Octave for this task.
>>>
>>> best regards,
>>> jean
>>>
>>>
>>
>> Hi Jean,
>>
>> Please keep the mailing list always in copy.
>>
>> Octave is an interactive language, so you can enter a matrix directly
>> from the command line
>> A = [1 2; 3 4]
>>
>> Your program can ask the user to do that before running it. Lets say
>> you have a script called lademo.m
>> The user is running octave and executes your demo:
>>
>> octave:1> lademo
>>
>> If there isn't a matrix "A" defined then you can print a message asking
>> for it
>>
>> if !exist ("A","var")
>>  error("Please define the matrix 'A' before running this demo.\n")
>> end
>>
>> This checks for the existence of a variable called "A" it will not
>> check it size or contents. You can do that by adding checks, for
>> example if it should be a numerical real array
>> if !isreal (A)
>>  # print a message
>> end
>>
>> This is much easier than asking the user to introduce element by
>> element and also simplifies your program by fixing the name of the
>> matrix.
>>
>> Hope this helps
>>
>> Cheers
>> _______________________________________________
>> Help-octave mailing list
>> address@hidden
>> https://mailman.cae.wisc.edu/listinfo/help-octave
>
> If I understand correctly, you might be able to do the following:
>
> A=input("Enter values of A matrix, surrounded by [], with rows
> separated by ; ");
>
> (You may want to re-word the explanation, or describe the syntax once,
> and ask for each input with less verbiage). When I type that into
> ocatve I get:
>
> octave:3> A=input("Enter values of A matrix, surrounded by [], with
> rows separated by ; ");
> Enter values of A matrix, surrounded by [], with rows separated by ; [
> 1 2 3; 4 5 6; 7 8 9]
> octave:4> A
> A =
>
>    1   2   3
>    4   5   6
>    7   8   9
> _______________________________________________
> Help-octave mailing list
> address@hidden
> https://mailman.cae.wisc.edu/listinfo/help-octave
>


reply via email to

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