# Scilab/C4/User-Defined-Input-and-Output/English

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Title of script: User defined Input/output in Scilab

Keywords: input, mprintf, save() , load()

Visual Cue Narration
Slide Welcome to this spoken tutorial on User-defined Input and Output using Scilab.
Slide In this tutorial, we will learn
• Input Function
• Formatting the Output
• save function

Slide Pre-requisites:

You should have

1. Basic knowledge of Scilab.
2. If not, for relevant tutorials please visit spoken hyphen tutorial dot org

Slide System Requirements

For Demonstration: Ubuntu Linux12.04 operating system is used with Scilab version 5.3.3 installed

Slide Input Function:

The input() function

• is used to take the input from the user.
• provides a prompt in the text string for user input.
• waits for input from the keyboard.

If nothing but a carriage return is entered at the prompt, input() function returns an empty matrix.

Slide The input function can be written in two ways as you see.

In the second example, the second argument is “string”.

So the output is a character string, which is the expression entered using the keyboard.

Scilab Console

--> x = input (“ Enter your age”)

--> y = input (“ Enter your age”, “string”)

Type the following on the Scilab Console

-->x is equal to input open bracket inside double quotes Enter your age colon close the bracket

I will enter a number say 25 here.

Its shows the output as

x =

25.

Now type

-->y is equal to input open bracket inside double quotes Enter your age comma inside double quotes string close the bracket.

I will enter a number say 25 here.

Its shows the output

y =

25

We see that in both the cases the input we entered, was a number 25.
Now, let us check the type of variable that x and y are.

We are doing this to validate the use and importance of the argument “string”, given in the second example.

-->typeof(x)

-->typeof(y)

To check the type of variable, let us type

-->typeof(x)

ans is equal to

constant

-->typeof(y)

ans =

string

You can see it yourself, that
• the first answer stored in x is of type constant and
• second answer stored in y, with the argument “string” included in the command, is of type string.

Slide Let us now see how to format the output that is displayed on the console.

This can be done using the mprintf() function.

mprintf() function converts, formats and writes data on to the Scilab console.

It is an interface for C-coded version of printf function.

Let us see an example for this.

Type the following on the Scilab Console

Scilab console

```-->mprintf("Value of x=%d is taken as a CONSTANT, while value of y=%s is taken as a STRING", x , y)
```

Value of x=25 is taken as a CONSTANT,while value of y=25

is taken as a STRING

-->mprintf open bracket open double quotes Value of x is equal to percentage d is taken as a CONSTANT comma while value of y is equal to percentage s is taken as a STRING close double quotes comma x comma y close the bracket

In the above example

• percentage d is used to insert an constant data stored in variable x and
• percentage s is used to insert a string data stored in variable y.

Slide Now, let us discuss the use of save and load command.

To quit Scilab midway through a calcula-

tion and

continue at a later stage type

--> save thissession

This will save the current values of all variables to a file

called thissession.

This file cannot be edited.

It is in binary format.

When you next start Scilab, type

and the computation can be resumed where you left off.

The purpose of save and load function are

• The save() command saves the scilab current variables in a binary file.
• If the variable is a graphic handle, the save function saves all the corresponding graphics_entities definition.
• The file can be given either by its paths or by its descriptor previously given.

Slide * save(filename) saves all current variables in the file defined by filename.
• save(fd) saves all current variables in the file defined by the descriptor fd.
• save(filename,x,y) or save(fd,x,y) saves only named variables x and y.

Scilab Console

--> a = eye(2,2)

a =

1. 0.

0. 1.

--> b = ones (a)

b =

1. 1.

1. 1.

--> save('matrix-a-b.dat', a, b)

Let us see an example to illustrate the save and load commands usage.

Let us define two matrices say a and b

-->a = eye(2,2)

-->b=ones(a)

--> save matrix-a-b

or it can also be written as

-->save('matrix-a-b.dat',a,b)

This saves the values of variables in a binary file matrix-a-b.dat in the present working directory.

You can browse the present working directory to check the existence of this binary file.

Scilab Console

-->clear a b

Now let us load the file back in to the variables.

Before this, let us clear the variables a and b

-->clear a space b

Let us cross check if these variables are really cleared.

-->a

!--error 4

Undefined variable: a

-->b

!--error 4

Undefined variable: b

Scilab Console

Now let us load back the values from the binary files in these variables a and b using the load command.

Load open bracket open single quote matrix dash a dash b dot dat close quotes comma inside quotes a comma inside quotes b close the bracket

--> a

a =

1. 0.

0. 1.

--> b

b =

1. 1.

1. 1.

Let us check the values in variables a and b

-->a

-->b

You can see the values are loaded back in the variables.

Summary Let us summarize what we learnt -
• Input Function using input command
• Formatting the Output using mprintf command
• Save Function

Slide Watch the video available at the link shown below

It summarises the Spoken Tutorial project

If you do not have good bandwidth, you can

Spoken Tutorial Workshops The Spoken Tutorial Project Team

Conducts workshops using spoken tutorials

Gives certificates to those who pass an online

test

For more details, please write to

Acknowledgement Spoken Tutorial Project is a part of the Talk to a

Teacher project

It is supported by the National Mission on

Education through ICT, MHRD, Government

of India