如何使用Matlab畫圖

注意點

  1. matlab中分號; 是拿來分隔列並抑制輸出顯示的。
  2. matlab中每個變量都是數組/矩陣,即使是x=1這樣的語句也代表創建了一個1*1的矩陣,變量使用前必須有值。
  3. 通過whos顯示當前的變量使用情況。
  4. 長任務可以通過使用省略號...擴展到另一行。
  5. format long命令顯示十進制後的16位數字。
  6. b 白色、r 紅色、k 黑色

基本語法示例

循環、選擇、函數定義
function demo()
n=0;
count =0;
while (n<10)
    if n < 2 
    count = count + n;
    elseif n > 5
    count = count + n * 2;
    else 
    count = count + n * 3;
    end
    n = n + 1;
    for a = [24:1:28]
        disp(a)
    end
end

函數定義如下:

function global_plot( )		%主函數必須位於最上方
global X         %定義X爲全局變量
X=0:0.1:2*pi;   % X 爲數組,從[0,2*pi],增量爲0.1
plot_sin(2)
plot_cos(2)

function plot_sin(a)	%子函數
global X         %使用全局變量X時也要用global定義
y=a*sin(X);
figure
plot(X,y)

function plot_cos(a)
global X         %使用全局變量X時也要用global定義
X=-pi:0.1:pi;    %全局變量被修改
y=a*cos(X);
figure
plot(X,y)
矩陣操作
%方括號定義,空格或逗號分隔行元素、分號分隔列元素
m = [1 2 3; 4 5 6; 7 8 9; 10 11 12]
n = m' %矩陣轉置
nm = m(1:2 , 2:3) %取出一個子矩陣
m(: , 2) = [] %刪除矩陣的第2列
zeros(5)	%特殊矩陣類
ones(3,4)
eye(4)
mm = rand(3,4,5)
文件輸入/出
PS = imread('1.jpg');
imwrite()
畫圖:
  • 在同一個圖上繪製多個函數
%多份數據表示在一個圖上
clear;clc   %清空所有變量,清除命令欄
figure			%創個新圖
plot(t,x)       %繪製第一條
hold on
plot([0,10],[0,500],'b')	%繪製一次函數曲線
axis([0 10 -1 1])	% x軸[0,10] ,  y軸[-1,1] 
%或是如下這種方法
%x = [0 : 0.01: 10];
%y = sin(x);
%g = cos(x);
%plot(x, y,'r', x, g, 'b'), legend('Sin(x)', 'Cos(x)') % legend 圖例說明

xlabel('time')        %設定圖的橫座標名稱
ylabel('Population size')  %設定圖的縱座標名稱
title('Population')   %設定圖的標題
grid on 	%將網格線放在圖形上
  • 生成子圖
PS=imread('1.jpg'); 
subplot(1,2,1);	%放在繪圖數組的第1行第2列的1位置
imshow(PS)
title('原圖')
p=rgb2gray(PS);
subplot(1,2,2)
imshow(p)
title('原灰度圖')
  • 柱狀圖

    把原本的plot函數 改成bar.

  • 三維圖

[x,y] = meshgrid(-2:.2:2);
g = x .* exp(-x.^2 - y.^2);
surf(x, y, g)'

所有例子的截圖待補充…

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章