Matlab(4)

一、Basic plotting

1.plot()

plot(x,y) :x圖片中點的橫坐標,y圖片中點的縱坐標

plot(y) :y圖片中點的縱坐標,x圖片中點的橫坐標默認為1,2,3,4,5........

plot(cos(0:pi/20:2*pi))

y —縱坐標的范圍是0~2\pi,每個間隔\pi/ 20

2. hold on / off

① 無 hold on / off

plot(cos(0:pi/20:2*pi));
plot(sin(0:pi/20:2*pi));

只畫sin(x),不畫cos(x),因為sin(x)cos(x)的圖片覆蓋

② 有?hold on / off

hold on
plot(cos(0:pi/20:2*pi));
plot(sin(0:pi/20:2*pi));
hold off

sin(x)cos(x)的圖像疊加

3. Plot Style

plot(x,y, ' str ')

hold on
plot(cos(0:pi/20:2*pi),'or--');
plot(sin(0:pi/20:2*pi),'xg:');
hold off

str 可以是以下三種類型,' str '里面填寫每列右邊一列

linsepec()可以查找更多

4. legend()

hold on
x = 0:0.5:4*pi;
y = sin(x); h = cos(x); w = 1./(1+exp(-x));
g = (1/(2*pi*2)^0.5).*exp((-1.*(x-2*pi).^2)./(2*2^2));
plot(x,y,'or--',x,h,'xg:',x,w,'bd-',x,g,'c^-');
% plot(cos(0:pi/20:2*pi),'or--');
% plot(sin(0:pi/20:2*pi),'xg:');
% 上面兩條線可以聯合寫成下面這種形式
% plot(x,cos(0:pi/20:2*pi),'or--',x,sin(0:pi/20:2*pi),'xg:');
legend('sin(x)','cos(x)','Sigmoid','Gauss function');
hold off

5. title()and ?label()

title()、xlabel()、ylabel()、zlabel()

hold on
x = 0:0.5:4*pi;
y = sin(x); h = exp(-x); 
plot(x,y,'or--',x,h,'xg:');
% plot(cos(0:pi/20:2*pi),'or--');
% plot(sin(0:pi/20:2*pi),'xg:');
% 上面兩條線可以聯合寫成下面這種形式
% plot(x,cos(0:pi/20:2*pi),'or--',x,sin(0:pi/20:2*pi),'xg:');
title('Fuction Plots of sin(t) and e^{-x}');
xlabel('x =  0 to 4\pi');
ylabel('value of sin(x) and e^{-x}');
legend('sin(x)','e^{-x}');
hold off

在 圖片x軸,y軸和標題上顯示公式時需要 LaTex 語言

6. text()and annotation()

① line( [2,2] , [0,2^2^sin(2)] )

兩點確定一條直線,[ 2 , 2 ]兩點的橫坐標,[ 0?, 2^2^sin(2)?]兩點的縱坐標

② text(0.25,2.5,str,'Interpreter','latex');

圖片中顯示的標題使用LaTex語言

③ annotation('arrow','X',[0.32,0.5],'Y',[0.6,0.4]);
添加箭頭,箭頭的兩個點橫坐標分別占圖幅的0.32和0.5,縱坐標分別占圖幅的0.6和0.4

x = linspace(0,3);
y = x.^ 2.* sin(x);
plot(x,y);
line([2,2],[0,2^2*sin(2)]);
str = '$$ \int_{0}^{2} x^2\sin{x} dx $$';
text(0.25,2.5,str,'Interpreter','latex');
annotation('arrow','X',[0.32,0.5],'Y',[0.6,0.4]);

7. Fiegure Adjustment

?set( gcf,' Color ',[1,1,1] )

gcf 是 Figure object 的句柄,設置Figure object 的顏色為黑色:'Color',[1,1,1]

x = linspace(0,2*pi,1000);
y = sin(x);
plot(x,y);
set(gcf,'Color',[1,1,1]);

8. Figure Properties

9. Handle? of An Object

figure 的句柄是關鍵字 gcf ,Axes 的句柄是 gca,

獲得Line句柄的語句是 h? = plot(x,y);

其他句柄列表如下

10. Fetching and Modifying Properties

得到設置屬性get()和設置屬性set()

x = linspace(0,2*pi,1000);
y = sin(x);
h = plot(x,y);
get(h)  #得到Line(h)的句柄,可通過查看變量h來看
set(gcf,'Color',[1,1,1]);

二、Getting Object Properties

get(gca);get(gcf);h = plot(x,y),get(h)

1. Setting Axes Limits

set(gca,'XLim',[0,2*pi]);
set(gca,'YLim',[-1.2,1.2]);

XLim設置的是 x 軸的范圍 0 ~ 2\pi,YLim設置的是 y?軸的范圍 -1.2 ~ 1.2

或者也可以用下面這種寫法

xlim([0,2*pi]);
ylim([-1.2,1.2]);

2. Setting Font and Tick of Axes

x = linspace(0,2*pi,1000);
y = sin(x);
h = plot(x,y);
get(h)
set(gcf,'Color',[1,1,1]);
set(gca,'XLim',[0,2*pi]);
set(gca,'YLim',[-1.2,1.2]);
set(gca,'FontSize',25);
set(gca,'XTick',0:pi/2:2*pi);
set(gca,'XTickLabel',0:90:360);
set(gca,'FontName','Latex');
set(gca,'XTickLabel',{'0','\pi/2','\pi','3\pi/2','2\pi'});

set(gca,'FontSize',25); 設置坐標軸字體大小為25

set(gca,'XTick',0:pi/2:2*pi);?設置坐標軸范圍是0~2\pi,間隔是\pi/2.

set(gca,'XTickLabel',0:90:360);?設置坐標軸等間隔下的表示數字

set(gca,'FontName','Latex');?設置坐標軸字體格式是Latex語言

set(gca,'XTickLabel',{'0','\pi/2','\pi','3\pi/2','2\pi'});?設置坐標軸輸出內容 0 ~ 2\pi

3. Line Specification

x = linspace(0,2*pi,1000);
y = sin(x);
h = plot(x,y);
get(h)
set(h,'LineStyle','-.', ...'LineWidth',7.0,'Color','g');

set(h,'LineStyle','-.', 'LineWidth',7.0,'Color','g');

設置LineStyle是:' -. ' 虛實線

設置LineWidth是:0.7,虛實線的粗細是0.7

設置Color虛實線的顏色是:綠色

4. Maker Sepecifiction

坐標軸下面的字體大小 FontSize設置為18;
線寬LineWidth是2,圖形標記邊緣顏色MarkerEdgeColor是黑色,圖形標記內部顏色MarkerFaceColor是綠色,圖形標記MarkerSize的大小是10。

x = rand(20,1);
set(gca,'FontSize',18);
plot(x,'-md','LineWidth',2,'MarkerEdgeColor','k','MarkerFaceColor','g','MarkerSize',10);
xlim([1,20]);

practise

hold on
x = linspace(1,2);
f = x .* x;
g = sin(2 * pi .* x);
plot(x,f,'-k','LineWidth',2);
plot(x,g,'or','MarkerFaceColor','m');
xlabel('Time(ms)');
ylabel('f(t)');
title('Mini Assignment #1');
legend('t^{2}','sin(2\pit)');
hold off

5. Multiple Figures

figure,plot(x,y1);? 畫圖,該語句需要使用兩次,以免新畫的圖覆蓋原來畫的圖

x = -10:0.1:10;
y1 =  x .* 2 -8;
y2 = exp(x);
figure,plot(x,y1);
figure,plot(x,y2);

6. Figure Position and Size

figure(' Position ',[ left,bottom,width,height ] );

7. Several Plots in One Figure

subplot(m,n,1);

8. subplot()

t = 0:0.1:2*pi;
x = 3*cos(t);
y = sin(t);
subplot(2,2,1);plot(x,y);axis normal;
subplot(2,2,2);plot(x,y);axis square;
subplot(2,2,3);plot(x,y);axis equal;
subplot(2,2,4);plot(x,y);axis equal tight;

nomal 橫縱坐標軸的比例恢復默認的自動調整模式

square 畫出來的圖片是方形的;

equal 畫出來的圖片橫縱坐標比例是一樣的;

equal tight 畫出來的圖片是橫縱比例一樣,且無多余留白的;

9. Control of Grid,Box,and Axis

grid on/off 畫圖背景是否有表格

box on/off 畫圖背景圖片是否有邊框

axis on/off 畫圖背景是否有坐標軸

10. saving Figure into Files

saveas(gcf,'filename','jgp')

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/918680.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/918680.shtml
英文地址,請注明出處:http://en.pswp.cn/news/918680.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Pycharm選好的env有包,但是IDE環境顯示無包

一、異常現象 Pycharm選好的env(yolov7): 有Numpy這個包: IDE環境愣是報沒有: 二、嘗試解決 2.1 重新啟動pycharm 重新打開.py文件: 還是不行: 看看好使的windows上的pycharm參數&#xff1a…

深入理解 Linux 下的 GDB 調試工具

引言 在軟件開發中,調試是一個不可避免且至關重要的環節。無論是簡單的邏輯錯誤,還是復雜的內存泄漏問題,調試工具都能幫助我們快速定位并修復問題。而在 Linux 系統中,GDB(GNU 調試器)是最強大、最常用的…

讓齒輪與斑馬線共舞:汽車文化驛站及安全教育基地的展陳實踐

當汽車文化驛站及安全教育基地的展陳項目圖紙在繪圖儀上初現輪廓時,我們就明確了一個核心命題:如何讓 “速度與激情” 的汽車文化,與 “規則與敬畏” 的安全教育在同一空間里和諧共生,而非簡單拼接。這不是兩個獨立展區的物理疊加…

Flask + Vue.js 物聯網數字大屏實現方案

我將為您創建一個精美的物聯網數字大屏,使用Flask作為后端提供數據,Vue.js作為前端展示,全部集成在單個HTML文件中實現。 設計思路 整體布局: 深色主題背景提高數據可視性 頂部標題欄顯示系統名稱和時間 中央區域分為多個數據卡片 底部顯示系統狀態信息 核心功能: 實…

Excel怎么篩選重復項?【圖文詳解】查找/刪除重復項?查找重復項公式?如何去重?

一、問題背景 在使用 Excel 整理數據時,我們經常會遇到重復內容。這些重復項不僅會讓表格顯得雜亂,還可能影響數據統計的準確性。比如學生成績表中重復的分數、員工信息表中重復的姓名等,都需要及時篩選出來處理。其實,篩選重復項…

模板打印技術——自動識別office類型 打印模板:為政務土地確權定制的替換利器—仙盟創夢IDE

代碼for (int i 0; i < tmpcount; i){string tmptable dt.Rows[i]["tmpname"].ToString().Trim();string doctype dt.Rows[i]["doctype"].ToString().Trim();if (doctype "doc"){doc_pagecount cyberwin_replacr_tmpes_files(dgvr, tmpt…

MongoDB分析insert源代碼

mongo插入單條文檔insert()> db.user.insert({ ... "name": "alice", ... "age": 28 ... }); WriteResult({ "nInserted" : 1 }) >MongoDB插入文檔代碼調用鏈如下&#xff1a;mongo/db/commands/write_commands/write_c…

react路由跳轉與路由懶加載等(對照vue來說一說不同之處)

前言&#xff1a;react路由跳轉與路由懶加載等路由懶加載&#xff1a;使用 loadable/component 插件來實現安裝&#xff1a;npm i loadable/component具體使用&#xff1a;1、引入loadable/component2、正常封裝的地方const HomeLoadable(()>import(./views/Home.jsx));也可…

Nginx 架構和安裝

二、.Nginx 架構和安裝 2.1 Nginx 概述 2.1.1 Nginx 介紹 Nginx&#xff1a;engine X &#xff0c;2002年開發&#xff0c;分為社區版和商業版(nginx plus ) 2019年3月11日 F5 Networks 6.7億美元的價格收購 Nginx是免費的、開源的、高性能的HTTP和反向代理服務器、郵件代理服務…

HarmonyOS NDK的JavaScript/TypeScript與C++交互機制

HarmonyOS NDK的JavaScript/TypeScript與C交互機制 細解釋這個調用流程&#xff1a; 整體架構流程 ArkTS/JavaScript ←→ .d.ts (類型定義) ←→ NAPI ←→ .cpp (C實現)文件結構和作用 項目結構示例&#xff1a; MyHarmonyApp/ ├── entry/src/main/ets/ # ArkTS應…

[激光原理與應用-226]:機械 - 如何學習3D圖設計

學習機械領域的3D圖設計需要系統掌握軟件操作、設計思維、工程規范和實戰經驗。以下是分階段的學習路徑和實用建議&#xff0c;幫助你高效入門并提升技能&#xff1a;一、基礎準備階段1. 明確學習目標方向選擇&#xff1a;根據興趣確定細分領域&#xff08;如機械零件設計、鈑金…

uniapp -- 小程序處理與設備通訊 GBK/GB2312 編碼問題。

?? 小程序/UniApp 中處理 GBK 編碼:iconv-lite + Buffer 實用指南 適用場景:設備通信、藍牙傳輸、舊系統對接、十六進制轉中文等涉及 GB2312/GBK 編碼 的中文亂碼問題。 ?? 一、為什么需要這個工具? 在小程序或 UniApp 開發中,常遇到以下問題: 藍牙設備返回的中文是 …

8.13 JavaWeb(MySQL P89-P103)

DML&#xff08;數據操作語言&#xff09;Data Manipulation Language&#xff0c;用來對數據庫表中的數據記錄進行增、刪、改操作添加數據-- DML &#xff1a; 數據操作語言 -- DML &#xff1a; 插入數據 - insert -- 1.為tb_emp表的username&#xff0c;name&#xff0c;gen…

Python 類元編程(元類基礎知識)

元類基礎知識 元類是制造類的工廠&#xff0c;不過不是函數&#xff08;如示例 21-2 中的 record_factory&#xff09;&#xff0c;而是類。圖 21-1 使用機器和小怪獸圖示法描述元 類&#xff0c;可以看出&#xff0c;元類是生產機器的機器。根據 Python 對象模型&#xff0c;類…

【Vue 3 響應式系統深度解析:reactive vs ref 全面對比】

Vue 3 響應式系統深度解析&#xff1a;reactive vs ref 全面對比 目錄 概述響應式系統基礎reactive 深度分析ref 深度分析底層實現原理依賴收集機制演進解構和轉換工具常見誤區和陷阱技術選型指南最佳實踐和建議 概述 Vue 3 引入了基于 Proxy 的全新響應式系統&#xff0c;…

JavaSE高級-01

文章目錄1. 異常異常的分類自定義異常異常的處理資源關閉&#xff1a;try-with-resource2. 泛型泛型類泛型接口泛型方法、通配符、上下限通配符泛型的上下限泛型支持的類型3. 包裝類4. Collection集合和Map集合4.1 Collection集合Collection集合特點Collection的遍歷方式一&…

MyBatis執行器與ORM特性深度解析

一、MyBatis的Executor執行器詳解1. MyBatis執行器類型MyBatis有三種核心執行器實現&#xff0c;在org.apache.ibatis.executor包中定義&#xff1a;執行器類型特點描述SimpleExecutor默認執行器&#xff0c;每次執行都會創建新的Statement對象ReuseExecutor重用預處理語句(Pre…

紅黑樹的特性與實現

在數據結構領域&#xff0c;二叉搜索樹&#xff08;BST&#xff09;憑借 O (log n) 的平均時間復雜度成為查找、插入和刪除操作的優選結構。但它有個致命缺陷&#xff1a;當輸入數據有序時&#xff0c;會退化為鏈表&#xff0c;時間復雜度驟降至 O (n)。為解決這一問題&#xf…

ClickHouse從入門到企業級實戰全解析課程簡介

【課程簡介】你是否正在面臨這些挑戰&#xff1f;海量數據的分析查詢慢如蝸牛&#xff0c;報表一等就是幾小時&#xff1f;想構建實時數倉&#xff0c;卻不知如何高效處理 Kafka 等流式數據&#xff1f;對 ClickHouse 的眾多 MergeTree 引擎感到困惑&#xff0c;不知如何選型&a…

【新啟航】從人工偏差到機械精度:旋轉治具讓三維掃描重構數據重復精度提升至 ±0.01mm

在三維掃描重構領域&#xff0c;傳統人工操作方式受限于人為因素干擾&#xff0c;數據重復精度難以保證&#xff0c;無法滿足高精度工業檢測與逆向工程需求。旋轉治具憑借先進的機械設計與自動化控制技術&#xff0c;將三維掃描重構數據重復精度提升至 0.01mm&#xff0c;實現從…