HYPLOT. Plotting Smooth Sheets: HYPLOT Interface similar to HYPACK ®. Plots all background…
1. Overview 2. plot in 2D 3. Plot in 3D 4. Other possible charts 5. Engineers: label your plots! 6....
-
Upload
teresa-wilkinson -
Category
Documents
-
view
220 -
download
0
Transcript of 1. Overview 2. plot in 2D 3. Plot in 3D 4. Other possible charts 5. Engineers: label your plots! 6....
![Page 1: 1. Overview 2. plot in 2D 3. Plot in 3D 4. Other possible charts 5. Engineers: label your plots! 6. Plots & Polynomial Plotting 11.](https://reader035.fdocuments.us/reader035/viewer/2022062407/56649ceb5503460f949b6d50/html5/thumbnails/1.jpg)
1. Overview
2. plot in 2D
3. Plot in 3D
4. Other possible charts
5. Engineers: label your plots!
6. Plots & Polynomial
Plotting
11
![Page 2: 1. Overview 2. plot in 2D 3. Plot in 3D 4. Other possible charts 5. Engineers: label your plots! 6. Plots & Polynomial Plotting 11.](https://reader035.fdocuments.us/reader035/viewer/2022062407/56649ceb5503460f949b6d50/html5/thumbnails/2.jpg)
1. Plots & Charts, overview
Plotting functions
plot(), plot3(), polar(), meshgrid()
Charting functions
pie(), pie3(), bar(), bar3(), bar3h(), hist(), errorbar()
Plot-related functions
polyfit(), polyval(), text(), title(),xlabel(), ylabel()
22
![Page 3: 1. Overview 2. plot in 2D 3. Plot in 3D 4. Other possible charts 5. Engineers: label your plots! 6. Plots & Polynomial Plotting 11.](https://reader035.fdocuments.us/reader035/viewer/2022062407/56649ceb5503460f949b6d50/html5/thumbnails/3.jpg)
2. Plots
Create a graph of y vs. x
plot(x, y) %order of arguments matters
Example: 100 data-points
x = linspace(-pi, pi);y = sin(x);plot(x, y)
By default, plot() connects the data-points with a solid line without markers.
33
![Page 4: 1. Overview 2. plot in 2D 3. Plot in 3D 4. Other possible charts 5. Engineers: label your plots! 6. Plots & Polynomial Plotting 11.](https://reader035.fdocuments.us/reader035/viewer/2022062407/56649ceb5503460f949b6d50/html5/thumbnails/4.jpg)
2. Plots, cont.
Let us try with less data-points:
x = linspace(-pi, pi, 10);y = sin(x);plot(x, y);
Notice that the curve is less smooth
This is another reason why linspace() is friendly to use: easily fixable.
44
![Page 5: 1. Overview 2. plot in 2D 3. Plot in 3D 4. Other possible charts 5. Engineers: label your plots! 6. Plots & Polynomial Plotting 11.](https://reader035.fdocuments.us/reader035/viewer/2022062407/56649ceb5503460f949b6d50/html5/thumbnails/5.jpg)
2. Plots: line specifiers
A third argument can be added in the plot function-call:
plot(x,y, _____)
The third argument must be a string, made of up to three components: One component for the line’s color One component for the line-style And one component for the marker symbol (the symbol at each
data point
55
![Page 6: 1. Overview 2. plot in 2D 3. Plot in 3D 4. Other possible charts 5. Engineers: label your plots! 6. Plots & Polynomial Plotting 11.](https://reader035.fdocuments.us/reader035/viewer/2022062407/56649ceb5503460f949b6d50/html5/thumbnails/6.jpg)
2. Plots: lineSpecs - color
Specify the color only: plot(x, y, ‘r’);
66
![Page 7: 1. Overview 2. plot in 2D 3. Plot in 3D 4. Other possible charts 5. Engineers: label your plots! 6. Plots & Polynomial Plotting 11.](https://reader035.fdocuments.us/reader035/viewer/2022062407/56649ceb5503460f949b6d50/html5/thumbnails/7.jpg)
2. Plots: lineSpecs – line style
Color and line-style: plot(x, y, ‘r:’);
7
(none): no line
7
![Page 8: 1. Overview 2. plot in 2D 3. Plot in 3D 4. Other possible charts 5. Engineers: label your plots! 6. Plots & Polynomial Plotting 11.](https://reader035.fdocuments.us/reader035/viewer/2022062407/56649ceb5503460f949b6d50/html5/thumbnails/8.jpg)
2. Plots: lineSpecs - marker Color, type of line and data-marker:
8
plot(x, y, ‘r:d’);
![Page 9: 1. Overview 2. plot in 2D 3. Plot in 3D 4. Other possible charts 5. Engineers: label your plots! 6. Plots & Polynomial Plotting 11.](https://reader035.fdocuments.us/reader035/viewer/2022062407/56649ceb5503460f949b6d50/html5/thumbnails/9.jpg)
2. Plots: line specifier, cont.
If only the data-points must show, leave out the line-style:
plot(x, y, 'rd')
Forgot all the options?
>> doc plot <enter>
99
![Page 10: 1. Overview 2. plot in 2D 3. Plot in 3D 4. Other possible charts 5. Engineers: label your plots! 6. Plots & Polynomial Plotting 11.](https://reader035.fdocuments.us/reader035/viewer/2022062407/56649ceb5503460f949b6d50/html5/thumbnails/10.jpg)
2. Plots: multiple plots
Repeat the series of 3 arguments to combine multiple plots on 1 graph.
Example:X = linspace(-2*pi,2*pi,50);Ysine = sin(X);Ycosine = cos(X);plot(X,Ysine,'r:o',X,Ycosine,'b--d')
The string argument is unnecessary. MATLAB will rotate through the default colors to make sure each plot has a different color. The other 4 arguments are MANDATORY.
10
![Page 11: 1. Overview 2. plot in 2D 3. Plot in 3D 4. Other possible charts 5. Engineers: label your plots! 6. Plots & Polynomial Plotting 11.](https://reader035.fdocuments.us/reader035/viewer/2022062407/56649ceb5503460f949b6d50/html5/thumbnails/11.jpg)
11
2. Plots: hold on/off
At default mode, the plot() command erases the previous plots before drawing new plots.
If subsequent plots are meant to add to the existing graph, use: hold on, which holds the current plot.
When you are done, use hold off to return to default mode.
hold, by itself, toggles the hold modes.
![Page 12: 1. Overview 2. plot in 2D 3. Plot in 3D 4. Other possible charts 5. Engineers: label your plots! 6. Plots & Polynomial Plotting 11.](https://reader035.fdocuments.us/reader035/viewer/2022062407/56649ceb5503460f949b6d50/html5/thumbnails/12.jpg)
12
>> hold on
>> plot(x1,sin(2*x1),'g’)
2. Plots: hold on/off, cont.
>> x1 = linspace(0,pi,25);
>> plot(x1,sin(x1),'r')
* Range of the axis will be automatically adjusted.
![Page 13: 1. Overview 2. plot in 2D 3. Plot in 3D 4. Other possible charts 5. Engineers: label your plots! 6. Plots & Polynomial Plotting 11.](https://reader035.fdocuments.us/reader035/viewer/2022062407/56649ceb5503460f949b6d50/html5/thumbnails/13.jpg)
3. Plots: 3 dimensions
plot3() makes a 3D plot – requires x, y, and z data.
1313
![Page 14: 1. Overview 2. plot in 2D 3. Plot in 3D 4. Other possible charts 5. Engineers: label your plots! 6. Plots & Polynomial Plotting 11.](https://reader035.fdocuments.us/reader035/viewer/2022062407/56649ceb5503460f949b6d50/html5/thumbnails/14.jpg)
14
Meshgrid()
Given: x = [1 2 3];y = [4 5];
Evaluate: f(x,y) = x + y
In other words, I need to evaluate (x+y) at every pair of points between x and y.
![Page 15: 1. Overview 2. plot in 2D 3. Plot in 3D 4. Other possible charts 5. Engineers: label your plots! 6. Plots & Polynomial Plotting 11.](https://reader035.fdocuments.us/reader035/viewer/2022062407/56649ceb5503460f949b6d50/html5/thumbnails/15.jpg)
15
Meshgrid(), cont.
15
To make a useful plot, it is necessary to match up each x with each y before computing z. The function meshgrid() makes this easy to do.
![Page 16: 1. Overview 2. plot in 2D 3. Plot in 3D 4. Other possible charts 5. Engineers: label your plots! 6. Plots & Polynomial Plotting 11.](https://reader035.fdocuments.us/reader035/viewer/2022062407/56649ceb5503460f949b6d50/html5/thumbnails/16.jpg)
3. Plots: 3 dimensions, cont.
x = linspace(-pi, pi);y = linspace(-pi, pi);[X, Y] = meshgrid(x, y);Z = sin(X).^3 - cos(Y).^2;plot3(X, Y, Z)
Creates two arrays X, Y where each
value of x is matched with
each value of y
1616
![Page 17: 1. Overview 2. plot in 2D 3. Plot in 3D 4. Other possible charts 5. Engineers: label your plots! 6. Plots & Polynomial Plotting 11.](https://reader035.fdocuments.us/reader035/viewer/2022062407/56649ceb5503460f949b6d50/html5/thumbnails/17.jpg)
4. Other Possible Charts
polar() creates polar coordinate plots:
x = linspace(-pi, pi);y = cos(x) - sin(x).^2;polar(x, y)
1717
![Page 18: 1. Overview 2. plot in 2D 3. Plot in 3D 4. Other possible charts 5. Engineers: label your plots! 6. Plots & Polynomial Plotting 11.](https://reader035.fdocuments.us/reader035/viewer/2022062407/56649ceb5503460f949b6d50/html5/thumbnails/18.jpg)
4. Other Possible Charts, cont.
pie(), pie3(), bar(), bar3(), bar3h(), hist(), errorbar()
pie3()
18
Much like Excel offers:
18
>>x = 38 54 8 54 48
>> pie3(x)
![Page 19: 1. Overview 2. plot in 2D 3. Plot in 3D 4. Other possible charts 5. Engineers: label your plots! 6. Plots & Polynomial Plotting 11.](https://reader035.fdocuments.us/reader035/viewer/2022062407/56649ceb5503460f949b6d50/html5/thumbnails/19.jpg)
4. Other Possible Charts, cont.
pie(), pie3(), bar(), bar3(), bar3h(), hist(), errorbar()
19
Much like Excel offers:
bar3h()
19
x = 8 9 1 9 6
>> bar3h(x)
![Page 20: 1. Overview 2. plot in 2D 3. Plot in 3D 4. Other possible charts 5. Engineers: label your plots! 6. Plots & Polynomial Plotting 11.](https://reader035.fdocuments.us/reader035/viewer/2022062407/56649ceb5503460f949b6d50/html5/thumbnails/20.jpg)
4. Other Possible Charts, cont.
pie(), pie3(), bar(), bar3(), bar3h(), hist(), errorbar()
20
errorbar()
20
![Page 21: 1. Overview 2. plot in 2D 3. Plot in 3D 4. Other possible charts 5. Engineers: label your plots! 6. Plots & Polynomial Plotting 11.](https://reader035.fdocuments.us/reader035/viewer/2022062407/56649ceb5503460f949b6d50/html5/thumbnails/21.jpg)
4. Other Possible Charts, cont.
As with all the MATLAB possibilities, use…
F1 = Help
2121
![Page 22: 1. Overview 2. plot in 2D 3. Plot in 3D 4. Other possible charts 5. Engineers: label your plots! 6. Plots & Polynomial Plotting 11.](https://reader035.fdocuments.us/reader035/viewer/2022062407/56649ceb5503460f949b6d50/html5/thumbnails/22.jpg)
5. Engineers: Complete Plots
The following built-in functions should be applied to any graph created:
title() %title on figurexlabel() %x-axis labelylabel() %y-axis labelzlabel() %z-axis label
Each function takes 1
‘string’ argument only
and has no return-value.
2222
![Page 23: 1. Overview 2. plot in 2D 3. Plot in 3D 4. Other possible charts 5. Engineers: label your plots! 6. Plots & Polynomial Plotting 11.](https://reader035.fdocuments.us/reader035/viewer/2022062407/56649ceb5503460f949b6d50/html5/thumbnails/23.jpg)
5. Engineers: Complete Plots
Additional built-in function: text()Example: text(1, -2, -2, 'Cool plot!')
2323
![Page 24: 1. Overview 2. plot in 2D 3. Plot in 3D 4. Other possible charts 5. Engineers: label your plots! 6. Plots & Polynomial Plotting 11.](https://reader035.fdocuments.us/reader035/viewer/2022062407/56649ceb5503460f949b6d50/html5/thumbnails/24.jpg)
5. Engineers: Complete Plots
Built-in function: grid onCOMMAND line typed in the script, after a plot command.
It stands alone on one line, requires no arguments, and returns no value.
2424
![Page 25: 1. Overview 2. plot in 2D 3. Plot in 3D 4. Other possible charts 5. Engineers: label your plots! 6. Plots & Polynomial Plotting 11.](https://reader035.fdocuments.us/reader035/viewer/2022062407/56649ceb5503460f949b6d50/html5/thumbnails/25.jpg)
5. Engineers: Complete Plots
Additional built-in functions: legend(), xlim, ylim,…
2525
![Page 26: 1. Overview 2. plot in 2D 3. Plot in 3D 4. Other possible charts 5. Engineers: label your plots! 6. Plots & Polynomial Plotting 11.](https://reader035.fdocuments.us/reader035/viewer/2022062407/56649ceb5503460f949b6d50/html5/thumbnails/26.jpg)
6. Plotting & Polynomials Plot-related functions that try to find an equation that
links data-points:
polyfit(), polyval()
polyfit() is like linear regression which finds the curve that best fits the data-points. polyfit() attempts to fit a polynomial – not a line. It mainly finds the coefficients of the polynomial that best fits the data given.
polyval() is used to evaluate the polynomial at specified points. It makes use of the coefficients generated by polyfit(). It is frequently used to generate a plot. 2626
![Page 27: 1. Overview 2. plot in 2D 3. Plot in 3D 4. Other possible charts 5. Engineers: label your plots! 6. Plots & Polynomial Plotting 11.](https://reader035.fdocuments.us/reader035/viewer/2022062407/56649ceb5503460f949b6d50/html5/thumbnails/27.jpg)
6. Plotting & Polynomials, cont.clearclc
%generate tables of x, and y data = [1, 50; 4, 4900; 7, 4600; 10, 3800; 70, 1300; 100, 850; 300, 0.2e9;
700, 1.2e9; 1000, 1.2e9];x = data(:, 1)';y = data(:, 2)'; %plot data points, omit lineplot(x, y, 'd')hold on %combine future plots on this one
%find best-fit polyn. of order 3coeff = polyfit(x, y, 3)px = linspace(min(x), max(x), 100);py = polyval(coeff, px);plot(px, py)
Remember that fitting a curve does NOT mean hitting every data-point! 2727
![Page 28: 1. Overview 2. plot in 2D 3. Plot in 3D 4. Other possible charts 5. Engineers: label your plots! 6. Plots & Polynomial Plotting 11.](https://reader035.fdocuments.us/reader035/viewer/2022062407/56649ceb5503460f949b6d50/html5/thumbnails/28.jpg)
Wrapping Up Plotting any kind of graphs mostly requires vectors of identical
dimensions: (x,y) (x, y, z) (r, theta, z)... hold on allows multiple plots to be combined together. The independent variable is the first argument. IT IS A COMMON
MISTAKE TO SWAP THEM. All functions are easily explained in the help, usually with examples
that show how to place arguments. As engineer, remember all graphs must be labeled correctly. For mathematical analysis, polyfit() and polyval() allow to fit a curve
through data-points.
2828