向前欧拉公式 matlab_你可能不知道的MATLAB操作#第三话
點擊藍字關(guān)注圖圖
前期回顧
第一話|入門介紹 普及自學(xué)工具
第二話|符號與數(shù)值 函數(shù)與腳本
#第三話#
介紹MATLAB內(nèi)部繪圖&
繪圖后處理命令
[ 靜態(tài)繪圖及控制 ]
[ 繪制子圖 ]
[ 動態(tài)圖/動畫 ]
[ 為標(biāo)題等增加latex公式 ]
在正式進入繪圖之前,必須先了解MATLAB繪圖大致的層次結(jié)構(gòu),依次為:
屏幕
圖窗figure
坐標(biāo)軸axes
曲線/曲面/文字
更細致的屬性
這里的每一層都是上一層的子類,MATLAB里稱為Children,同時又是下一層的父類,稱為Parent。例如當(dāng)我們用最簡單的命令去繪制一條曲線:
plot([1 2])
????雖然我們沒有指定figure和axes,但實際上MATLAB內(nèi)部已經(jīng)事先創(chuàng)建了一個圖窗figure(即gcf當(dāng)前圖窗),并且在這圖窗上創(chuàng)建了一個坐標(biāo)軸(即gca當(dāng)前坐標(biāo)軸),能夠讓我們直接繪制一條曲線,而不必考慮其它。
????但是,當(dāng)我們想對這條繪制好的曲線進行細致修改時,就必須明確我們需要修改的屬性是在哪一個層級上,并且調(diào)用相應(yīng)的命令去修改,這也是GUI編程的核心,在此話不做過多探討。
????下面開始正式的繪圖教程。
靜態(tài)圖
x = linspace(0,2*pi,100);
y = sin(x);
plot(x,y);
1、標(biāo)記坐標(biāo)區(qū)并添加標(biāo)題
xlabel('x')
ylabel('sin(x)')
title('Plot of the Sine Function')
2、繪制多個線條
默認情況下,MATLAB 會在執(zhí)行每個繪圖命令之前清空圖窗。使用 figure 命令打開一個新的圖窗窗口。可以使用 hold on 命令繪制多個線條。在使用 hold off 或關(guān)閉窗口之前,當(dāng)前圖窗窗口中會顯示所有繪圖。
figure
x = linspace(0,2*pi,100);
y = sin(x);
plot(x,y)
hold on?
y2 = cos(x);
plot(x,y2)
hold off
3、更改線條外觀
通過在調(diào)用 plot 函數(shù)時包含可選的線條設(shè)定,可以更改線條顏色、線型或添加標(biāo)記。例如:
':' 繪制點線。
'g:' 繪制綠色點線。
'g:*' 繪制帶有星號標(biāo)記的綠色點線。
'*' 繪制不帶線條的星號標(biāo)記。
符號可以按任意順序顯示。不需要同時指定所有三個特征(線條顏色、線型和標(biāo)記)。有關(guān)不同樣式選項的詳細信息,請參閱 plot 函數(shù)頁。
例如,繪制一條點線。添加第二個圖,該圖使用帶有圓形標(biāo)記的紅色虛線。
x = linspace(0,2*pi,50);
y = sin(x);
plot(x,y,':')
hold on?
y2 = cos(x);
plot(x,y2,'--ro')
hold off
4、更改線條對象的屬性
通過更改用來創(chuàng)建繪圖的 Line 對象的屬性,還可以自定義繪圖的外觀。
創(chuàng)建一個線圖。將創(chuàng)建的 Line 對象賦給變量 ln。顯示畫面上顯示常用屬性,例如 Color、LineStyle 和 LineWidth。
ln =?
? Line with properties:
? ? ? ? ? Color: [0 0.4470 0.7410]
? ? ? ? ? LineStyle: '-'
? ? ? ? ? LineWidth: 0.5000
? ? ? ? ? Marker: 'none'
? ? ? ? ? MarkerSize: 6
? ? ? ? ? MarkerFaceColor: 'none'
? ? ? ? ? XData: [1x25 double]
? ? ? ? ? YData: [1x25 double]
? ? ? ? ? ZData: [1x0 double]
Show all properties%所有以上內(nèi)容可以在命令行輸入ln獲得
要訪問各個屬性,請使用圓點表示法。例如,將線寬更改為 2 磅并將線條顏色設(shè)置為 RGB 三元組顏色值,在本例中為 [0 0.5 0.5]。添加藍色圓形標(biāo)記。
ln.LineWidth = 2;
ln.Color = [0 0.5 0.5];
ln.Marker = 'o';
ln.MarkerEdgeColor = 'b';
5、更改坐標(biāo)軸范圍
創(chuàng)建一個線圖。使用 xlim 和 ylim 函數(shù)指定坐標(biāo)軸范圍。對于三維繪圖,請使用 zlim 函數(shù)。將 [min max] 形式的二元素向量傳遞給函數(shù)。
x = linspace(-10,10,200);?
y = sin(4*x)./exp(x);
plot(x,y)
xlim([0 10])
ylim([-0.4 0.8])
6、顯示通過原點的軸線
默認情況下,x 軸和 y 軸沿坐標(biāo)區(qū)的外邊界顯示。通過設(shè)置 Axes 對象的 XAxisLocation 和 YAxisLocation 屬性來更改軸線位置,以使軸線在原點 (0,0) 處交叉。將 XAxisLocation 設(shè)置為 'top'、'bottom' 或 'origin'。將 YAxisLocation 設(shè)置為 'left'、'right' 或 'origin'。這些屬性僅適用于二維視圖中的坐標(biāo)區(qū)。
x = linspace(-5,5);
y = sin(x);
plot(x,y)
ax = gca;
ax.XAxisLocation = 'origin';
ax.YAxisLocation = 'origin';
7、顯示網(wǎng)格線
創(chuàng)建條形圖并顯示網(wǎng)格線。網(wǎng)格線顯示在刻度線處。
y = rand(10,1);
bar(y)
grid
on
8、在特定方向顯示網(wǎng)格線
通過訪問 Axes 對象并設(shè)置 XGrid、YGrid 和 ZGrid 屬性,可在特定方向顯示網(wǎng)格線。這些屬性可以設(shè)置為 'on' 或 'off'。
創(chuàng)建二維繪圖且僅在 y 方向顯示網(wǎng)格線。
y = rand(10,1);
bar(y)
ax = gca;
ax.XGrid = 'off';
ax.YGrid = 'on';
(請大家?guī)蛨D圖點一下廣告,
幸福生活就靠你們啦)
繪制子圖——subplot
1、subplot(m,n,p) 將當(dāng)前圖窗劃分為 m×n 網(wǎng)格,并在 p 指定的位置創(chuàng)建坐標(biāo)區(qū)。按行號對子圖位置進行編號。第一個子圖是第一行的第一列,第二個子圖是第一行的第二列,依此類推。如果指定的位置已存在坐標(biāo)區(qū),則此命令會將該坐標(biāo)區(qū)設(shè)為當(dāng)前坐標(biāo)區(qū)。
創(chuàng)建帶有兩個堆疊子圖的圖窗。在每個子圖上繪制一條正弦波。
subplot(2,1,1);
x = linspace(0,10);
y1 = sin(x);
plot(x,y1)
subplot(2,1,2);
y2 = sin(5*x);
plot(x,y2)
2、創(chuàng)建一個分為四個子圖的圖窗。在每個子圖上繪制一條正弦波并為每個子圖指定標(biāo)題。subplot(2,2,1)
x = linspace(0,10);
y1 = sin(x);
plot(x,y1)
title('Subplot 1: sin(x)')
subplot(2,2,2)
y2 = sin(2*x);
plot(x,y2)
title('Subplot 2: sin(2x)')
subplot(2,2,3)
y3 = sin(4*x);
plot(x,y3)
title('Subplot 3: sin(4x)')
subplot(2,2,4)
y4 = sin(8*x);
plot(x,y4)
title('Subplot 4: sin(8x)')
3、創(chuàng)建包含兩個未與網(wǎng)格位置對齊的子圖的圖窗。為每個子圖指定一個自定義位置。
pos1 = [0.1 0.3 0.3 0.3];
subplot('Position',pos1)
y = magic(4);
plot(y)
title('First Subplot')
pos2 = [0.5 0.15 0.4 0.7];
subplot('Position',pos2)
bar(y)
title('Second Subplot')
繪制動圖——animatedline
an = animatedline 創(chuàng)建一根沒有任何數(shù)據(jù)的動畫線條并將其添加到當(dāng)前坐標(biāo)區(qū)中。通過使用 addpoints 函數(shù)循環(huán)向線條中添加點來創(chuàng)建動畫。
創(chuàng)建初始動畫線條對象。然后,通過循環(huán)向線條中添加 1,000 個點。在添加每個新點后,使用 drawnow 在屏幕上顯示該新點。
h = animatedline;
axis([0,4*pi,-1,1])
x = linspace(0,4*pi,1000);
y = sin(x);
for k = 1:length(x)
? ? addpoints(h,x(k),y(k));
? ? drawnow
end
增加latex公式
1:首先按照matlab本身的規(guī)則輸入你想要顯示的公式;
syms x y;
s=cos(x*2+4/3+exp(x)+y)/y; %這只是個示例
2:接著采用latex()函數(shù)將公式s轉(zhuǎn)換為latex代碼,注意是sym類型的變量,如果是輸入字符會報錯的,記得區(qū)分;不要加分號抑制輸出,在命令行會有輸出;
3:將上式單引號內(nèi)的內(nèi)容復(fù)制出來;
4:粘貼到任何可以輸入文本的地方,并且在兩頭加上美元符號;
5:打開latex解釋器,在屬性檢查器里面
6:完成后在圖片空白處點一下即可;
? 7:完成。注意,在打開latex解釋器后字體不可隨便調(diào)節(jié)了就。但是其他字號之類的可以!
參考一些官方庫函數(shù)而成
更多
&
資料
獲取完整文檔
點擊”閱讀原文“
(必須微信中才行)
推薦閱讀
電腦軟件庫
網(wǎng)址全庫
極速下載神器
來啦!一款可以上天入地的手機瀏覽器
TUTU
掃描二維碼
關(guān)注圖圖
微信號 : tutongdao
郵箱:lakersfire@sina.com
總結(jié)
以上是生活随笔為你收集整理的向前欧拉公式 matlab_你可能不知道的MATLAB操作#第三话的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ssr pac_阴阳师新SSR千姬什么时
- 下一篇: vue 改变domclass_基于 vu