matlab中1e100如何表示,機器學習---matlab入門(一 )

Contents

I. 清空環境變量及命令

II. 變量命令規則

III. MATLAB數據類型

IV. MATLAB矩陣操作

V. MATLAB邏輯與流程控制

VI. MATLAB腳本與函數文件

VII. MATLAB基本繪圖操作

VIII. MATLAB文件導入

清空環境變量及命令

clear all              % 清除Workspace中的所有變量

clc              % 清除Command Window中的所有命令

II. 變量命令規則

1. 變量名區分大小寫

A = 2   a = 3  與其他編程語言相同

2. 變量名長度不超過63位

3. 變量名以字母開頭,可以由字母、數字和下划線組成,但不能使用標點

4. 變量名應簡潔明了,通過變量名可以直觀看出變量所表示的物理意義

A = rand(3,5)            三行五列的零到一的隨機數

rows = size(A, 1)         A矩陣的行數

cols = size(A, 2)         A矩陣的列數

III. MATLAB數據類型

1. 數字

2. 字符與字符串

s = 'a'

abs(s)      絕對值函數

char(65)

num2str(65)

str = 'I Love MATLAB & Machine Learning.'

length(str)  包含空格和標點

doc num2str  說明書

3. 矩陣

A = [1 2 3; 4 5 2; 3 2 7]

B = A'              B表示為A的轉置

C = A(:)             將矩陣A轉為一列列向量

D = inv(A)            求逆矩陣

E = zeros(10,5,3)       三維矩陣 10*5*3

E(:,:,1) = rand(10,5)

E(:,:,2) = randi(5, 10,5)

Randi()用法

randi()    函數生成均勻分布的偽隨機整數,

范圍為imin--imax,如果沒指定imin,則默認為1。

r = randi(imax,n):生成n*n的矩陣

r = randi(imax,m,n):生成m*n的矩陣

r = randi(imax,[m,n]):同上

r = randi(imax,m,n,p,...):生成m*n*p*...的矩陣

r = randi(imax,[m,n,p,...])同上

r = randi(imax):1*1的矩陣

r = randi(imax,size(A)):和size(A)同維的矩陣

r= randi([imin,imax],...)

E(:,:,3) = randn(10,5)

函數randn

生成元素服從正態分布(N(0,1))的數值與陣列格式

Y = randn(n)    %返回n*n階的方陣Y,其元素服從正態分布N(0,1)。若n不是一標量,則顯示一出錯信息。

Y = randn(m,n)、Y = randn([m n])   %返回階數為m*n的,元素均勻分布於區間(0,1)上矩陣Y。

Y = randn(m,n,p,…)、Y = randn([mn p…])%生成階數m*n*p*…的,元素服從正態分布的多維隨機陣列Y。

Y = randn(size(A))    %生成一與陣列A同型的隨機正態陣列Y

randn    %該命令在每次單獨使用時,都返回一隨機數(服從正態分布)。

元胞數組

A = cell(1, 6) 生成一個一行六列的細胞組

A{2} = eye(3)

eye()函數常用的兩種調用方式:

eye(N) 生成一個N行N列的單位矩陣。、

eye(M,N) 生成一個M行N列的"單位"矩陣,主對角線元素為1,其余元素為0。

A{5} = magic(5)

M = magic(n)

生成一個n*n的矩陣,矩陣元素是由整數1到n^2組成的並且任何行任何列的和都相等,階數n必須是大於等於3的標量。

5. 結構體

books = struct('name',{{'Machine Learning','Data Mining'}},'price',[30 40])

books.name

books.name(1)

IV. MATLAB矩陣操作

1. 矩陣的定義與構造

A = [1 2 3 5 8 5 4 6]

B = 1:2:9    1到9之內相差為2的一行矩陣

C = repmat(B, 3, 1)

函數 repmat

* 格式 B = repmat(A,m,n)       %將矩陣A復制m×n塊,即B由m×n塊A平鋪而成。

*

B = repmat(A,[m n])      %與上面一致

B = repmat(A,[m n p…])   %B由m×n×p×…個A塊平鋪而成

repmat(A,m,n)           %當A是一個數a時,該命令產生一個全由a組成的m×n矩陣。

D = ones(2, 4)

ones的作用是產生全1矩陣

ones(N)是產生一個N*N的全1矩陣

2. 矩陣的四則運算

A = [1 2 3 4; 5 6 7 8]

B = [1 1 2 2; 2 2 1 1]

C = A + B

D = A - B

E = A * B'  矩陣乘法

F = A .* B 矩陣內對應數字相乘

G = A / B     % B * G = A

H = A ./ B

3. 矩陣的下標

A = magic(5)

B = A(2,3)

C = A(3,:)

D = A(:,4)

[m, n] = find(A > 20)

V. MATLAB邏輯與流程控制

1. if ... else ... end

A = rand(1,10)

limit = 0.75;

B = (A > limit);   % B is a vector of logical values

if any(B)

fprintf('Indices of values > %4.2f: \n', limit);

disp(find(B))

else

disp('All values are below the limit.')

end

1、代碼

[plain] view plain copy

1. >> fprintf('你好呀。我要輸出%d\n',3)

2、效果

[plain] view plain copy

1. 你好呀。我要輸出3

matlab中disp()就是屏幕輸出函數,類似於c語言中的printf()函數

2. for ... end

k = 10;

hilbert = zeros(k,k);

% Preallocate matrix

for

m = 1:k

for

n = 1:k

hilbert(m,n) = 1/(m+n -1);

end

end

hilbert

3. while ... end

n = 1;

nFactorial = 1;

while

nFactorial < 1e100

n = n + 1;

nFactorial = nFactorial * n;

end

n

factorial(69)

factorial(70)

prod(1:69)

prod(1:70)

4. switch ... case ... end

mynumber = input(

'Enter a number:'

);

switch

mynumber

case

-1

disp(

'negative one'

);

case

0

disp(

'zero'

);

case

1

disp(

'positive one'

);

otherwise

disp(

'other value'

);

end

VI. MATLAB腳本與函數文件

1. 腳本文件

myScript

2. 函數文件

mynumber = input('Enter a number:');

output = myFunction(mynumber)

VII. MATLAB基本繪圖操作

1. 二維平面繪圖

x = 0:0.01:2*pi;

y = sin(x);

figure

plot(x, y)

title('y = sin(x)')

xlabel('x')

ylabel('sin(x)')

xlim([0 2*pi])

x = 0:0.01:20;

y1 = 200*exp(-0.05*x).*sin(x);

y2 = 0.8*exp(-0.5*x).*sin(10*x);

figure

[AX,H1,H2] = plotyy(x,y1,x,y2,'plot');

set(get(AX(1),'Ylabel'),'String','Slow Decay')

set(get(AX(2),'Ylabel'),'String','Fast Decay')

xlabel('Time (\musec)')

title('Multiple Decay Rates')

set(H1,'LineStyle','--')

set(H2,'LineStyle',':')

2. 三維立體繪圖

t = 0:pi/50:10*pi;

plot3(sin(t),cos(t),t)

xlabel('sin(t)')

ylabel('cos(t)')

zlabel('t')

grid on

axis square

3. 圖形的保存與導出

% (1) Edit → Copy Figure

% (2) Toolbar → Save

% (3) print('-depsc','-tiff','-r300','picture1')

% (4) File → Export Setup

VIII. MATLAB文件導入

1. mat格式

save data.mat x y1 y2

clear all

load data.mat

2. txt格式

M = importdata('myfile.txt');

S = M.data;

save 'data.txt' S -ascii

T = load('data.txt');

isequal(S, T)

3. xls格式

xlswrite('data.xls',S)

W = xlsread('data.xls');

isequal(S, W)

xlswrite('data.xlsx',S)

U = xlsread('data.xlsx');

isequal(S, U)

4. csv格式

csvwrite('data.csv',S)

V = csvread('data.csv');

isequal(S, V)

Published with MATLAB® 7.14

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值