Include Page | ||||
---|---|---|---|---|
|
Include Page | ||||
---|---|---|---|---|
|
...
Plot σx vs. r
...
i (Take 3: File Input/Output)
...
Read
...
in
...
[A
...
]
...
from
...
a
...
file
...
HTML |
---|
<iframe width |
...
="600" height="338" src="//www.youtube.com/embed/ |
...
YbyfEIkgYHA? |
...
Wiki Markup |
---|
Read in \[B\] from a File |
Wiki Markup |
---|
Hey, if _\[A\]_ can be read in from a file, why not read _\[B\]_ from the same file? |
Wiki Markup |
---|
Append the elements of _\[B\]_ to _input_data.txt_ and save the file: |
Now we need to tell MATLAB to:
- Read in the first two rows and assign it to A.
- Read in the last two rows and assign it to B.
An additional complication is that A and B have different number of columns. To handle this mess, we turn to the following nugget from the dlmread documentation:
Panel | ||
---|---|---|
|
Key point: MATLAB starts counting the rows and colums at 0 rather than 1. So the first row is 0, second row is 1 and so on. The same thing applies to columns also. See below for an input with n rows and m columns. (i, j) are the row, column coordinates.
Wiki Markup |
---|
{{\[ (0,0) (0,1) (0,2)...(0,m-1) \]}} |
Wiki Markup |
---|
{{\[ (1,0) \____________________\_ \]}} |
Wiki Markup |
---|
{{\[ (2,0) \____________________\_ \]}} |
Wiki Markup |
---|
{{\[ ... \______________________\_ \]}} |
Wiki Markup |
---|
{{\[(n-1,0) \__________\_ (n-1,m-1)\]}} |
Wiki Markup |
---|
Once again, edit _beam4.m_. Now, use the <span style="color: #660099"><strong><em>dlmread</em></strong></span> command with the delimiter and range inputs to extract both <span style="color: #660099"><strong><em>A</em></strong></span> and <span style="color: #660099"><strong><em>B</em></strong></span> at the same time. The delimiter should be '', the range should be {{\[0 0 1 1\]}} for <span style="color: #660099"><strong><em>A</em></strong></span> and {{\[2 0 3 0\]}} for <span style="color: #660099"><strong><em>B</em></strong></span>. Remember to add your semi-colons. |
...
rel=0" frameborder="0" allowfullscreen></iframe> |
Read in [B] from the same file
Note that the following video contains a part where the text file is read into Excel. This is only for illustration purposes (to check the range that we need to feed into the dlmread function). The data is still read from the .txt file, so you can skip following the Excel steps and just watch these steps being done in the video.
HTML |
---|
<iframe width="600" height="338" src="//www.youtube.com/embed/hdbyuLxkTCg?rel=0" frameborder="0" allowfullscreen></iframe> |
Output Values Using dlmwrite
Just as you can read in values from a text file to a matrix, you can also write a matrix to a text file. The function for this is called dlmwrite. Consider the following syntax:
...
We write matrix A to a text file named output_file, and we use a space as a delimiter. Add this line of code to beam4.m and run it. You should see a text file named output_file appear in your working directory. If you wish to learn more about dlmwrite, use your best friend...documentation!
Output Important Values Using fprintf
Another function that can be used to save important values is fprint f. Suppose we are asked to report the numerical values of the bending stress for inner radius =0.5, 1.0, and 1.5 cm. These values are already contained in the vectors "ri" and "sigma_x".
...
fprintf('When ri = %3.2f cm, ',1e2*ri(6));
fprintf('sigma_x = %3.2f MPa\n',sigma_x(6));
Go to Step 6: Plot σx vs. ri, i (Take 4: FunctionsSee and rate the complete Learning Module)