Difference between revisions of "EGR 103/Fall 2019/Minilab 4"
Jump to navigation
Jump to search
(Created page with "== Troubleshooting == * If MATLAB tells you it can't find the file and brings up a dialogue box including the ability to change the folder, click the button to change the fold...") |
|||
Line 6: | Line 6: | ||
== 4.5.1 - Chapra 8.2 == | == 4.5.1 - Chapra 8.2 == | ||
+ | * Pretty straightforward; remember to use [ ] to create matrices and ; between rows. | ||
+ | * Use matrix multiplication where multiplication is indicated. | ||
+ | |||
=== Partial Answer === | === Partial Answer === | ||
<syntaxhighlight lang=matlab> | <syntaxhighlight lang=matlab> | ||
Line 44: | Line 47: | ||
== 4.5.2 - Chapra 2.16 == | == 4.5.2 - Chapra 2.16 == | ||
+ | * Note that you are not trying to find model coefficients here - you already have the model including the coefficients. If you needed to find the coefficients, the code could be: | ||
+ | <syntaxhighlight lang=matlab> | ||
+ | fun = @(coef, time) coef(1)*exp(coef(2)*t) | ||
+ | coefs = nlinfit(t, c, fun, [1, -.01]) | ||
+ | </syntaxhighlight> | ||
+ | which is fairly similar to how Python does nonlinear fitting but with a couple changes in syntax... | ||
* To get multiple lines on the same graph, you will plot the first one then issue the command <code>hold on</code>. Make the rest of your plots, then set <code>hold off</code>. For example: | * To get multiple lines on the same graph, you will plot the first one then issue the command <code>hold on</code>. Make the rest of your plots, then set <code>hold off</code>. For example: | ||
:<syntaxhighlight lang=matlab> | :<syntaxhighlight lang=matlab> | ||
Line 65: | Line 74: | ||
r2: 9.864e-01 | r2: 9.864e-01 | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | The model should be a green dashed line going through the data points. | + | The model should be a green dashed line going through the red diamond data points. Note that MATLAB's green is almost too light to be useful versus Python's green. |
== 4.5.3 - Chapra 3.10 == | == 4.5.3 - Chapra 3.10 == | ||
Line 96: | Line 105: | ||
</syntaxhighlight > | </syntaxhighlight > | ||
:Do not use i (it works, but still...) and do not forget to put the number in front of j, even if that number is a 1. | :Do not use i (it works, but still...) and do not forget to put the number in front of j, even if that number is a 1. | ||
+ | * Use left divide to solve for $$x$$ in $$Ax=b$$. | ||
=== Partial Answer === | === Partial Answer === |
Revision as of 04:46, 3 December 2019
Contents
Troubleshooting
- If MATLAB tells you it can't find the file and brings up a dialogue box including the ability to change the folder, click the button to change the folder.
Typos
- None yet!
4.5.1 - Chapra 8.2
- Pretty straightforward; remember to use [ ] to create matrices and ; between rows.
- Use matrix multiplication where multiplication is indicated.
Partial Answer
(1)
5 8 15
8 4 10
6 0 10
(3)
3 -2 -1
-6 0 4
-2 0 -2
(4)
28 21 49
7 14 49
14 0 28
(5)
3 6 1
(6)
25 13 74
36 25 75
28 12 52
(7)
54 76
41 53
28 38
(8)
9 2
4 -1
3 7
-6 5
(11)
66 19 53
19 29 46
53 46 109
(12)
46
4.5.2 - Chapra 2.16
- Note that you are not trying to find model coefficients here - you already have the model including the coefficients. If you needed to find the coefficients, the code could be:
fun = @(coef, time) coef(1)*exp(coef(2)*t)
coefs = nlinfit(t, c, fun, [1, -.01])
which is fairly similar to how Python does nonlinear fitting but with a couple changes in syntax...
- To get multiple lines on the same graph, you will plot the first one then issue the command
hold on
. Make the rest of your plots, then sethold off
. For example:
plot(x, y1, 'k-') hold on plot(x, y2, 'r--') plot(x, y3, 'g:') hold off
- For the legend, add labels to the legend command in the order you made the plots. For example:
legend('y1', 'y2', 'y3', 'location', 'best')
- The last part tells MATLAB to put the legend in the best - or most clear - location.
Partial Answer
St: 5.793e+00
Sr: 7.850e-02
r2: 9.864e-01
The model should be a green dashed line going through the red diamond data points. Note that MATLAB's green is almost too light to be useful versus Python's green.
4.5.3 - Chapra 3.10
- Be sure to create an anonymous function called
u_y
that returns a value. Since the return calculation is long, you will want to put it in multiple lines separated by ellipses (...). For instance, the following calculation is one line of code:
u_y = @(x) x.^3 + x.^2 + ... x.^1 + x.^0
Partial Answer
Root 1: 2.338e+00
Root 2: 7.762e+00
Min of y=-2.086e+01 at x=+1.279e+00
Min of y=-3.274e+01 at x=+8.708e+00
Min of y=-2.086e+01 at x=+1.279e+00
Max of y=+1.953e+02 at x=+5.702e+00
The graph should be like your graph from a previous lab for this problem.
4.5.4 - Chapra 3.26
- This one takes a while to process; it is not the most efficient way of making this graph since it calls the plot command 10k times; far better to calculate the values and then use a scatter plot (not required)
Partial Answer
- Sierpinski Triangle, but stuffed in a corner.
4.5.5 - Chapra 8.3 and 5
- For complex numbers, write the imaginary part followed directly by a j with no space -- including if you are writing just j. Also, do not put spaces around the + or - between the real and imaginary parts - for instance:
a = 4+1j
- Do not use i (it works, but still...) and do not forget to put the number in front of j, even if that number is a 1.
- Use left divide to solve for $$x$$ in $$Ax=b$$.
Partial Answer
8.3:
-1.5181e+01
-7.2464e+00
-1.4493e-01
8.5:
-5.3333e-01 + 1.4000e+00i
1.6000e+00 - 5.3333e-01i
4.5.6 - Chapra 3.9
- Don't forget to use .* ./ and .^ when needed
Partial Answer
- Lab 8
4.5.7 - Sphere!
- Don't forget to use .* ./ and .^ when needed
Partial Answer
- Title of problem.