MATLAB 程式設計入門篇二維平面繪圖

Download Report

Transcript MATLAB 程式設計入門篇二維平面繪圖

MATLAB 程式設計入門篇:二維平面繪圖
練習題

(25%)利薩如曲線

可用以下參數式表示利薩如曲線




x = cos(mθ), y = sin(nθ)
撰寫一函式,輸入m與n,畫出該參數之利薩如曲線
Lissajous(3,2)應畫出右圖:
提示:
function Lissajous(m,n)
theta = linspace(......);
x = cos(......);
y = sin(......);
plot(x,y);
MATLAB 程式設計入門篇:二維平面繪圖
練習題

(25%)Chebyshev多項式




y = cos(m*acos(x)), x在[-1, 1]之間。
撰寫一底稿,在同一張圖上畫出m=1~5的曲線
使用legend指令,標出每一條曲線。圖形如下頁
提示:
m = ......; % 看教師示範
x = linspace(-1,1);
y = ......; % 看教師示範
plot(x,y);
legend(......);
MATLAB 程式設計入門篇:二維平面繪圖
練習題

Chebyshev多項式:本題應繪製之圖形
MATLAB 程式設計入門篇:二維平面繪圖
練習題

(25%)使用polar指令畫出心臟線


r = 1-sin(theta)
提示:修改「極座標畫圓」的範例
MATLAB 程式設計入門篇:二維平面繪圖
練習題

(25%)畫出正n邊型





撰寫一函式,輸入邊數n,畫出正n邊型
需有其中一角對齊90度的方向
提示:修改「極座標畫正五邊形」的範例
yourFunction(5)應畫出右圖:
當n愈大時,是否愈接近圓型?
MATLAB 程式設計入門篇:二維平面繪圖
練習題參考答案


利薩如曲線:

Chebyshev多項式:
function Lissajous(m,n)
m = [1:5]';
theta = linspace(0,2*pi,500);
x = linspace(-1,1);
x = cos(m*theta);
y = cos(m*acos(x));
y = sin(n*theta);
plot(x,y);
plot(x,y);
legend('m=1','m=2','m=3','m=4','m=5');
心臟線:

正n邊型:
theta = linspace (0, 2*pi);
function myFunc(n)
r= ones(1,length(theta));
figure;
polar(theta , 1-sin(theta));
theta = linspace (0, 2*pi, n+1);
r= ones(1,length(theta));
polar(theta+pi/2 , r);