### Comparison: Matlab Scripts & `BASIC` (Page 2)

* * * * * * * BASIC * * * * * * * * * * * * * * MATLAB * * * * * * *
Prompting for Input
The following code will prompt for a value from 1 to 10. This also demonstrates the use of a `WHILE` in Matlab to wait for a valid input
```15 Print "Pick Number between 1 & 10"
Input V
if V<1 or V>10 then 15
```
```V = 0; % Initialize to value<1
% so it does the loop at least once
while V<1 | V>10
V = input('Pick Number between 1 & 10 ');
end
```
Loop Structures
The code below is a simple example of a `FOR` loop which prints the sum of the squares of the sines of all angles from 0 to pi/2 in increments of 0.001
```SumTh = 0
For Theta=0 To 3.14 Step 0.001
SumTh = SumTh + sin(Theta)^2
Next
Print "Sum is ";SumTh```
```SumTh = 0;
for Theta=0 : 0.001 : 3.14;
SumTh = SumTh + sin(Theta)^2;
end
disp(['Sum is ' num2str(SumTh)]);```
Because of the vector nature of Matlab, it is often possible to replace a `FOR` loop with an array process. The code below creates an array called `Theta` which contains all of the angles. It then calculates the sines of all of the values in one statement. This script runs about 10 times faster than the previous code. (This is unimportant for a short script, but for a script which takes several seconds or longer, this can be significant.) Note the use of the array operator `.^` to square the array of sines. This is required since the operation `sTheta^2` would perform the matrix multiplication `sTheta*sTheta`, and would result in an error since `sTheta` is not a square matrix.
` `
```Theta=[0 : 0.01 : 3.14];
sTheta = sin(Theta);
SumTh = sum(sTheta.^2);
disp(['Sum is ' num2str(SumTh)]);
```
* * * * * * * BASIC * * * * * * * * * * * * * * MATLAB * * * * * * *
Next Page , Previous Page
NOTE: This document uses HTML 3.0 Extensions. It must be viewed with an appropriate browser (such as Netscape Version 2 or higher)
Electronic Copy: `http://physics.gac.edu/~huber/matlab/mtlbasi2.html`
Created: 20-JUL-96 by Tom Huber, Physics Department, Gustavus Adolphus College.