好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 利用Matlab繪制各類特殊圖形的實例代碼

利用Matlab繪制各類特殊圖形的實例代碼

熱門標簽:預覽式外呼系統 銀川電話機器人電話 外賣地址有什么地圖標注 煙臺電話外呼營銷系統 企業彩鈴地圖標注 如何地圖標注公司 電銷機器人錄音要學習什么 上海正規的外呼系統最新報價 長春極信防封電銷卡批發

Matlab繪圖介紹

強大的繪圖功能是Matlab的特點之一,Matlab提供了一系列的繪圖函數,用戶不需要過多的考慮繪圖的細節,只需要給出一些基本參數就能得到所需圖形,這類函數稱為高層繪圖函數。此外,Matlab還提供了直接對圖形句柄進行操作的低層繪圖操作。這類操作將圖形的每個圖形元素(如坐標軸、曲線、文字等)看做一個獨立的對象,系統給每個對象分配一個句柄,可以通過句柄對該圖形元素進行操作,而不影響其他部分。

Matlab繪制特殊圖形

1. 繪制極坐標圖

說明:使用polarplot函數繪制極坐標圖,每組數據表示一條閉合曲線,共有20條曲線構成20條封閉同心曲線。

t = linspace(0,2*pi,500);
y = 1+0.3*sin(20*t)+0.1*sin(30*t)+0.1*sin(40*t); 
polarplot(t,y,t,1.1*y,t,1.2*y,t,1.3*y,t,1.4*y,t,1.5*y,t,1.6*y,t,1.7*y,t,1.8*y,t,1.9*y,...
    t,2.0*y,t,2.1*y,t,2.2*y,t,2.3*y,t,2.4*y,t,2.5*y,t,2.6*y,t,2.7*y,t,2.8*y,t,2.9*y,'linewidth',1.5);

2. 單條曲線繪制分段函數(反比例函數y=1/x)

說明:反比例函數在x接近于0時,趨近于奇異(1/0 趨近于無窮大),使用nan非數對圖形進行鏤空,可以實現一條曲線繪制y=1/x的整個定義域。

x = linspace(-3,3,500);
f = @(x) 1./x;
y = f(x);
for ii = 1:length(x)
    if  abs(x(ii))0.03 
        x(ii) = nan;
        y(ii) = nan;
    end
end
plot(x,y)
legend('y=1/x')

3. 正方體內繪制隨機分布的顏色片圖

說明: 使用plot3繪制正方體12條邊,使用fill3函數繪制顏色片,顏色片位置和填充顏色隨機生成。

a = 20;
b = 20;
c = 20;
A1 = [0 0 0
     a 0 0
     a b 0
     0 b 0
     0 0 0];
A2 = [0 0 c
     a 0 c
     a b c
     0 b c
     0 0 c]; 
A3 = [0 0 0
     0 0 c
     0 b c
     0 b 0
     0 0 0]; 
A4 = [a 0 0
     a 0 c
     a b c
     a b 0
     a 0 0];  
% 繪圖
figure
hold on
plot3(A1(:,1),A1(:,2),A1(:,3),'k');
plot3(A2(:,1),A2(:,2),A2(:,3),'k');
plot3(A3(:,1),A3(:,2),A3(:,3),'k');
plot3(A4(:,1),A4(:,2),A4(:,3),'k');
view(3)
 
XYZ0 = [0 0 0
        1 0 0
        1 0 1
        0 0 1];
for ii = 1:100
    p = [rand*(a-2) rand*(b-2) rand*(c-2)]+1;    % 球心
    X2=  p(1) + XYZ0(:,1);
    Y2 = p(2) + XYZ0(:,2);
    Z2 = p(3) + XYZ0(:,3);
    ColorSpec = rand(1,3);
    fill3( X2,Y2,Z2,ColorSpec )
end

4. 在大圓內隨機生成若干互不相交的小圓

說明:先繪制大圓,在大圓內隨機生成小圓圓心,判斷小圓圓心和其它小圓的距離,如果小圓圓心距離小于直徑,說明小圓相交,舍去該小圓。

tic
X = [];
Y = [];
n = 0;
while n  1000
    r = rand * (750-5);
    theta = rand * 2*pi;
    x0 = r*cos(theta);
    y0 = r*sin(theta);
    s = min( (x0-X).^2 + (y0-Y).^2 );   % 最小圓心距離
    if s  10^2
        continue;
    else
        X = [X;x0];   % 圓心坐標集合
        Y = [Y;y0];  
        n = n +1      % 點數
    end
end
toc
alpha = linspace(0,2*pi,100);
x = 5*cos(alpha);
y = 5*sin(alpha);
 
figure
plot( 150*x,150*y,'r' )
hold on
for ii = 1:n
    x0 = X(ii);
    y0 = Y(ii);
    plot(x0+x,y0+y,'k')
end

5. 在長方體內隨機生成若干球體

說明:patch函數繪制長方體和球體表面,并可填充顏色。

x = 100;
y = 80;
z = 50;
theta = linspace(0,2*pi,50);
phi = linspace(0,2*pi,50);
[theta,phi] = meshgrid(theta,phi);
r = 2;
X0 = r*cos(phi).*cos(theta);
Y0 = r*cos(phi).*sin(theta);
Z0 = r*sin(phi);

% 繪圖
X = [0 x x 0 
     0 x x 0
     0 0 0 0
     x x x x
     0 x x 0]';
Y = [0 0 y y
     0 0 y y
     0 y y 0
     0 y y 0
     y y y y]';
Z = [0 0 0 0
     z z z z
     0 0 z z
     0 0 z z
     0 0 z z ]';
figure
patch(X,Y,Z,'r');
view(3)
hold on
for ii = 1:50
    p = [rand*(100-4*r) rand*(80-4*r) rand*(50-4*r)]+2*r;    % 球心
    X2= p(1) + X0;
    Y2 = p(2) + Y0;
    Z2 = p(3) + Z0;
    patch( X2,Y2,Z2,'y' )
end

6. 繪制圓柱體與球體曲面相交,并繪制相交曲線

說明: mesh函數繪制曲面圖,求解方程得到交線參數方程,plot3函數繪制三維交線。

%% 曲面1
t = linspace(0,2*pi,200);
s = linspace(0,2*pi,200);
[t,s] = meshgrid(t,s);
x = 2*cos(t);
y = 2*sin(t).*cos(s);
z = 2*sin(t).*sin(s);
figure
mesh(x,y,z)
%% 曲面2
t2 = linspace(0,2*pi,200);
z2 = linspace(-3,3,200);
[t2,z2] = meshgrid(t2,z2);
x2 = 1 + cos(t2);
y2 = sin(t2);
hold on
mesh(x2,y2,z2)
%% 交線
t3 = linspace(0,2*pi,200);
y3 = sin(t3);
x3 = 1 + cos(t3);
z3 = sqrt(4-2*x3);
plot3(x3,y3,z3,'r','linewidth',5)
hold on
plot3(x3,y3,-z3,'r','linewidth',5)

8. 繪制三維拋物曲面

說明:使用nan非數對圖形進行鏤空

x = -20:0.1:20;
y = -20:0.1:20;
[X,Y] = meshgrid(x,y);
p = 0.2;
q = 0.1;
Z = X.^2/(2*p) +  Y.^2/(2*q);
Z = (Z=500) .* Z + ((Z>500)-1) ./ ((Z>500)-1);   % 圖形鏤空
mesh(X,Y,Z)

9. 拋物曲面隨參數變化形成動畫

說明:每個步長內動態更新繪制三維曲面,形成動畫效果。

x = linspace(-1,1,20);
y = linspace(-1,1,20);
[X,Y] = meshgrid(x,y);
figure
a = 1;
Z = a.*X.^2 + Y.^2;
h = surf(X,Y,Z);
zlim([0,15])
for a = 1:0.1:10
    Z = a.*X.^2 + Y.^2;
    set(h,'zdata',Z);
    drawnow
    pause(0.1)
end

10. 使用不同頻率的正弦波合成方波

說明:傅里葉級數,利用不同頻率的正弦波合成方波,三角函數項數越多,合成方波越精確。

t=0:0.000001:1;
 f1=6*sin(10*pi*t)/pi;
 f2=6*sin(10*pi*t)/pi+2*sin(30*pi*t)/pi;
 f3=6*sin(10*pi*t)/pi+2*sin(30*pi*t)/pi+6*sin(50*pi*t)/(5*pi);
 %% 循環段
 N = 10;   % 點數
 f4 = 0;   % 初始值
 for ii = 1:N
     f4 = f4 + 3*2*sin((2*ii-1)*10*pi*t)/pi/(2*ii-1);
 end
 figure
 subplot(2,2,1),plot(t,f1)
 subplot(2,2,2),plot(t,f2) 
 subplot(2,2,3),plot(t,f3)
 subplot(2,2,4),plot(t,f4)

總結

到此這篇關于利用Matlab繪制各類特殊圖形的文章就介紹到這了,更多相關Matlab繪制特殊圖形內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Matlab實現時間序列預測分類實例代碼
  • 圖文詳解matlab原始處理圖像幾何變換
  • Matlab如何實現矩陣復制擴充
  • 如何利用Matlab制作一款真正的拼圖小游戲
  • 利用Matlab提取圖片曲線

標簽:宜昌 珠海 潮州 西寧 盤錦 湖北 上饒 佳木斯

巨人網絡通訊聲明:本文標題《利用Matlab繪制各類特殊圖形的實例代碼》,本文關鍵詞  利用,Matlab,繪制,各類,特殊,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《利用Matlab繪制各類特殊圖形的實例代碼》相關的同類信息!
  • 本頁收集關于利用Matlab繪制各類特殊圖形的實例代碼的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 日本老熟maturebbwciit| 久久久久久精品国产三级秦老师| 国产高清视频青青青在线| 一个人偷偷看www片| 边吃奶边添下面就爽| 国产天堂亚洲精品| 亚洲国产精品久久| 一级做a爰片毛片app免费贴吧| 国产三级日产三级日本三级 | 韩国保姆| 国产91无码精品秘?入口| 两个美妇用嘴服侍市长| 免费看三及片| 91精品人妖一区二区三区四区| 农村妓女卖婬片免费视频 | 美女直播洗澡的软件免费| 美女脱了内裤露出尿口正面无遮挡| 国产亚洲亚洲精品777| 一本色道久久hezyo无码专区| 555www免费人成一看片| 91在线无精精品秘?白丝| 旗袍麻麻脱了丝袜让我坐下去漫画 | 五月香蕉网| 靠近我抓紧我| 美女全身体光羞羞漫画| 人人人人洗澡人人人人| 国产葡京热香蕉精品视频推荐| 教授不可以无删减版电影| 国产激情一区二区三区| 任你躁AV一区二区三区桃花视频 | 青青操视频在线免费观看| 青青草原国产AV一区欧美| 欧美黑人一区| 波多野结衣影片| 护士强制榨精动漫无打码| 狠狠色丁香婷婷综合久久片| 99国产这里只有精品视频| 久操伊人网| 国精产品一区二区三区公司| 被迫进入春梦np高H| 美女伦理bd高清|