大家好!matlab中畫柱面的函式cylinder r,n

2021-05-06 03:45:10 字數 5502 閱讀 2717

1樓:匿名使用者

給你一個例子:t=0:pi/20:

2*pi; %產生一個向量[x,y,z]= cylinder(2+sin(t),100); %產生花瓶的三維網格資料surf(x,y,z); %繪製三維面圖

matlab中cylinder命令是什麼含義,如何應用

2樓:嘻哈小婷

[x,y,z]=cylinder

[x,y,z]=cylinder(r) r=半徑[x,y,z]=cylinder(r,n) n=在圓周上均勻取點的個數

cylinder(…) 不帶輸出變數的時候直接繪製柱狀圖

matlab 用cylinder繪製的柱面如何用find命令精緻繪圖

3樓:匿名使用者

柱面圖繪製由函式cylinder實現.

[x,y,z]=cylinder(r,n) 此函式以母線向量r生成單位柱面.母線向量r是在單位高度裡等分刻度上定義的半徑向量.n為旋轉圓周上的分格線的條數.

可以用surf(x,y,z)來表示此柱面.

[x,y,z]=cylinder(r)或[x,y,z]=cylinder此形式為預設n=20且r=[1 1]

例.柱面函式演示舉例

x=0:pi/20:pi*3;

r=5+cos(x);

[a,b,c]=cylinder(r,30);

mesh(a,b,c)

%%%%%%

例.旋轉柱面圖.

r=abs(exp(-0.25*t).*sin(t));

t=0:pi/12:3*pi;

r=abs(exp(-0.25*t).*sin(t));

[x,y,z]=cylinder(r,30);

mesh(x,y,z)

colormap([1 0 0])

如何用matlab畫雙曲柱面?

4樓:匿名使用者

a = 1;

b = 1;

h = 10;

tht = linspace(-pi/4,pi/4,100);

z = linspace(0,h,20);

x = a*sec(tht);

y = b*tan(tht);

xa = repmat(x,20,1);

ya = repmat(y,20,1);

za = repmat(z',1,100);

figure; surf(xa,ya,za);

matlab cylinder怎麼用

5樓:許詩文

matlab還有其他各種二維繪圖函式,以適合不同的應用,詳見下

當資料點數量不多時,長條圖是很適合的表示方式:

close all; % 關閉所有的圖形視窗

x=1:10;

y=rand(size(x));

bar(x,y);

如果已知資料的誤差量,就可用errorbar來表示。下例以單位標準差來做資的誤差量:

x = linspace(0,2*pi,30);

y = sin(x);

e = std(y)*ones(size(x));

errorbar(x,y,e)

對於變化劇烈的函式,可用fplot來進行較精確的繪圖,會對劇烈變化處進行較密集的取樣,如下例:

fplot('sin(1/x)', [0.02 0.2]); % [0.02 0.2]是繪圖範圍

若要產生極座標圖形,可用polar:

theta=linspace(0, 2*pi);

r=cos(4*theta);

polar(theta, r);

對於大量的資料,我們可用hist來顯示資料的分 情況和統計特性。下面幾個命令可用來驗證randn產生的高斯亂數分 :

x=randn(5000, 1); % 產生5000個 m=0,s=1 的高斯亂數

hist(x,20); % 20代表長條的個數

rose和hist很接近,只不過是將資料大小視為角度,資料個數視為距離,並用極座標繪製

表示:x=randn(1000, 1);

rose(x);

stairs可畫出階梯圖:

x=linspace(0,10,50);

y=sin(x).*exp(-x/3);

stairs(x,y);

stems可產生針狀圖,常被用來繪製數位訊號:

x=linspace(0,10,50);

y=sin(x).*exp(-x/3);

stem(x,y);

stairs將資料點視為多邊行頂點,並將此多邊行塗上顏色:

x=linspace(0,10,50);

y=sin(x).*exp(-x/3);

fill(x,y,'b'); % 'b'為藍色

feather將每一個資料點視複數,並以箭號畫出:

theta=linspace(0, 2*pi, 20);

z = cos(theta)+i*sin(theta);

feather(z);

compass和feather很接近,只是每個箭號的起點都在圓點:

theta=linspace(0, 2*pi, 20);

z = cos(theta)+i*sin(theta);

compass(z);

4.三維網圖的高階處理

1. 消隱處理

例.比較網圖消隱前後的圖形

z=peaks(50);

subplot(2,1,1);

mesh(z);

title('消隱前的網圖')

hidden off

subplot(2,1,2)

mesh(z);

title('消隱後的網圖')

hidden on

colormap([0 0 1])

2. 裁剪處理

利用不定數nan的特點,可以對網圖進行裁剪處理

例.圖形裁剪處理

p=peaks(30);

subplot(2,1,1);

mesh(p);

title('裁剪前的網圖')

subplot(2,1,2);

p(20:23,9:15)=nan*ones(4,7);

%剪孔meshz(p)

%垂簾網線圖

title('裁剪後的網圖')

colormap([0 0

axis('equal') %此兩句控制座標軸的大小相同.

axis('square')

colormap('hot')

6樓:

matlab的cylinder函式是產生一個單位圓柱面(高度為1),如果使用[x,y,z]=cylinder(r,n),r(為向量,至少為1乘2的向量)代表的為沿圓柱面高度方向(等間距,間距值為1/length(r))的半徑,n為圓周長方向的分隔點數(也表示x,y,z的向量長度)。例如r=[3,3,3,3];n=50;[x, y, z]=cylinder(r, n); surf(x, y, z);就可以生成一個半徑為3,高度為1的圓柱面。系統預設[x,y,z] = cylinder,表示r[1,1],n=20。

希望對你有幫助!

7樓:書宬

x=0.2:0.001:0.5;

y=1./x;

[x,y,z]=cylinder(y,30);

mesh(x,y,z)

8樓:

在matlab中鍵入help cylinder

如何用matlab裡的cylinder函式化橢球?

9樓:匿名使用者

clear all;clc;

%畫出由母線x^2/a^2+y^2/b^2=1繞z軸旋轉出的橢球面a=sqrt(4);b=sqrt(1);%這裡取a=2,b=1t=linspace(-b,b);

r=a*sqrt(1-t.^2/b^2);

[x,y,z]=cylinder(r);

z=(z-.5)*2*b;

mesh(x,y,z);axis equal;

matlab 如何畫複雜函式繞y軸一週的柱面圖?函式方程為兩個正態分佈之和y=a*exp(-x^2/2)+b*exp(-x^2)

10樓:匿名使用者

不好意思啊,以前那個畫法有錯,我疏忽了。cylinder(r,n)這個命令是畫一個半徑為r,高度為1的圓柱體。n表示圓柱體的圓周有指定的n個距離相同的點。r也可以為函式表示式。

y=exp(-x^2/2)+exp(-x^2)的值域為(0,2],用cylinder(r,n)命令也可以畫,不過高度就只有1了。首先要將半徑的表示式求出來,y=exp(-x^2/2)+exp(-x^2)繞y軸旋轉的半徑

r=sqrt(-2/3*log(y)),整個命令如下

clear

y=realmin:0.01:2;%y不能為0;

[x,y,z]=cylinder(sqrt(-2/3*log(y)),30);

mesh(x,y,z)

不過效果不好,主要是座標範圍太大了。

現在用另一種方法來畫

y=exp(-x^2/2)+exp(-x^2)繞y軸旋轉所得的曲面方程為

y=exp(-(x.^2+z.^2)/2)+exp(-x.^2-z.^2);這個方程很容易算出來的,高數也有。

那麼程式設計如下

x=-5:0.01:5;

y=-5:0.01:5;

[x,y]=meshgrid(x,y);

z=exp(-(x.^2+y.^2)/2)+exp(-x.^2-y.^2);

mesh(x,y,z);

這裡我將y和z軸變換了,主要是因為這個影象比較複雜,計算機要對影象進行處理如放大縮小就會很慢,而好像matlab又預設z軸向上,這樣畫出圖後還要旋轉之後才看得舒服,將y和z軸變換了,就不用旋轉了。你也可以自己去試一下

另外我也是剛學這個軟體的,有很多問題不懂,有錯的請見諒

matlab中畫柱面(x-1)^2+y^2=1

11樓:匿名使用者

t=0:pi/20:2*pi;

x=sin(t)+1;

y=cos(t);

z=linspace(-4,4,length(t));

x=meshgrid(x);y=meshgrid(y);z=[meshgrid(z)]';

mesh(x,y,z)%第一

bai個du圓zhi柱dao面版

權xlabel('x')

ylabel('y')

zlabel('z')

axis equal

12樓:兔子和小強

[x y z] = cylinder(ones(20, 1));

surf(x+1, y, z)

大家好matlab中符號運算和數值運算的區別是什麼

兩者的根本區別是 數值計算的表示式 矩陣變數中不允許有未定義的自由變數 而符號計算可以含有未定義的符號變數。對於一般的程式設計軟體如 c,c 等語言實現數值計算還可以 但是實現符號計算並不是一件容易的事。而 matlab 自帶有符號工具箱 symbolic math tooibox 而且可以藉助數學...

visio中如何微調旋轉角度,大家好!visio中如何旋轉形狀?謝謝!

我用的2007版,直接方向鍵移動的距離大,shift加方向鍵移動的距離小,但不能調整旋轉角度,只能上下和左右移動。大家好!visio中如何旋轉形狀?謝謝!可以按角度旋轉形狀 垂直翻轉,水平翻轉,或使用旋轉手柄旋轉。有五種操作可能性 一 將形狀旋轉 90 度 1.選擇要旋轉的形狀。2.請執行下列操作之...

大家好,我想成立個關於美術方面的社團(包括素描,剪紙等)想請大家幫我起個個性點有創意的名字

一手遮天,呵呵,很強大的名字!都是離不開手嘛 樓上的樓上,巧手會不錯哦 手工藝術協會 怎麼沒分的啊?咱搞的是美術,不是寂寞 很長很個性 老師好,我是大學的一名學生,我想成立一個剪紙社團,要寫申請書,還有章程,想請教一下老師,怎麼寫 第九十六回 孔明揮淚斬馬謖 周魴斷髮賺曹休 去問你們學校的社團指導老...