注意點
- matlab中分號
;
是拿來分隔列並抑制輸出顯示的。 - matlab中每個變量都是數組/矩陣,即使是
x=1
這樣的語句也代表創建了一個1*1
的矩陣,變量使用前必須有值。 - 通過
whos
顯示當前的變量使用情況。 - 長任務可以通過使用省略號
...
擴展到另一行。 format long
命令顯示十進制後的16位數字。- 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)'
所有例子的截圖待補充…