列出內存中的變量目錄:whos
對函數功能和用法不熟悉:help
顯示變量,陣列,文本:disp
清楚工作空間中的變量:clear
Grid on:窗體的軸顯示座標網格線
統計B矩陣中,大於A的元素個數:sum(sum(B>A)
第一章:
Matlab:Matrix Laboratory
matlab基本功能:數值計算,符號計算,繪圖,編程,GUI開發
Matlab特點:腳本式解釋語言,平臺無關性,語法規則簡單,提供了大量的計算函數
clc:清除指令窗口的顯示內容
clear:清除matlab工作空間中保存的變量
clf:清除matlab圖形窗口中的顯示內容
who或whos:顯示Matlab工作空間中的變量信息
Help :知道具體指令但是不知道怎麼使用
Lookfor :想解決某個問題,但是不知道MATLAB有哪些指令可用
分號:不顯示結果指令的結尾;數組行分隔
冒號:生成一維數組;作下標表示該維全部
黑點:在數組運算中的作用
逗號:函數輸入量分隔;數組元素分隔
pi:圓周率 Inf:無限大 NaN:非數
程序文件:即M文件,其擴展名爲.m,包括主程序和函數文件,M文件通過M文件編輯/調試器生成。Matlab的各工具箱中的函數大部分是M文件。
數據文件:即MAT文件,其擴展名爲.mat,用來保存工作空間中的數據變量。數據文件可以通過在命令行窗口中輸入“save”命令生成。
可執行文件:即MEX文件,其文件的擴展名爲.mex,由Matlab的編譯器對M文件進行編譯後產生,其運行速度比直接執行M文件快得多。
第二章:
一維數組的創建
逐個元素輸入法 a=[1, 2, 3]
冒號生成法 a=1:1:3
定數線性採樣法 linspace(1,3,3)
二維數組的創建
逐個元素輸入法(;和,)
a2=[1 2 3;4 5 6;7 8 9]
MATLAB函數法
zeros(m,n):產生m×n全0數組
ones(m,n): 產生m×n全1數組
eye(m): 產生m×m單位數組
rand(m,n):產生0~1間均勻分佈的隨機m×n矩陣。
拼接方式:
a=[1, 2, 3;4,5,6]
b=[7,8,9;10,11,12]
橫向拼接:[a,b] 123789
縱向拼接: [a;b] 123/n456/n789/n
編址:全下標和單下標
數組A=[ 1 2 3 4 5
6 7 8 9 10
11 12 13 14 15 ]
則 A(2,3)= 8 ,A(2)=6
使用函數進行轉換單雙下標
sub2ind([3,5],2,3)
% 3×5數組中,第2 行第3列元素的單下標
[a,b]=ind2sub([3,5],8)
% 3×5數組中,第8個元素的全下標
數組元素尋訪:
>>A=[1:3:16;2:3:17;3:3:18]
>>A1=A(:,2:3)
A1 =
4 7
5 8
6 9
>>r=[2,3], c=[1,5];
A2=A(r,c) %尋訪A的第2、3行和1、5列交叉的元素組成的子數組
A2 =
2 14
3 15
>>ind=[1,3,18], %生成數組ind,作爲尋訪A的單序號
A2=A(ind), %尋訪A的第1、3和18號元素並組成子數組
A3=A(ind’)
A2=
1 3 18
A3 =
1
3
18
>>A4=A(1:3)%尋訪前3個元素組成的子數組
A4 =1 2 3
>>A5=A(3:-1:1)%由前3個元素倒序構成的子數組
A5=3 2 1
A6=A(15:end)%第15個及其後所有元素構成的子數組
函數end作爲參數使用,返回最後一個元素的下標
A6 = 15 16 17 18
數組操作指令:
[a,b]=size(A) 測量數組A的大小,a爲行數和b列數
c=length(A) 測量數組A的長度(一維數組的元素個數)
c=find(A) 找出數組A中非0元素的位置,輸出單序號
[a,b]=find(A) 輸出非0元素的全下標
reshape函數:總元素數不變的前提下,改變各維的大小
Am=magic(3) %生成3*3的數組
Aa=reshape(1:12,3,4) %生成3*4的數組
B=2*ones(3,4) %生成3*4的全2數組
刪除數組的某列和行
A=reshape(-4:5,2,5)
A =
-4 -2 0 2 4
-3 -1 1 3 5
A(:,[2,4])=[]
A =
-4 0 4
-3 1 5
使用“單序號”可以刪除單個元素
>>A(2:4)=[]
第三章:數值計算
例6 求a(x)=x2+2x+3; b(x)=4x2+5x+6兩個多項式的積
c = (x2+2x+3)(4x2+5x+6)
>> a=[1 2 3];b=[4 5 6];
>> c=conv(a,b)
c = 4 13 28 27 18
>> p=poly2str(c,'x')
p = 4 x^4 + 13 x^3 + 28 x^2 + 27 x + 18
例7:a(x)=x2+2x+3; b(x)=4x2+5x+6兩個多項式的商
>> a=[1 2 3];b=[4 5 6];
>> [div,rest]= deconv(a,b)
div =
0.25
rest =
0 0.75 1.5
【例】建立多項式 f(x)=4x3-3x2+2x-5,並求出f(x)=0時的根及x=3、x=3.6的值
>> P=[4,-3,2,-5];
>> x=roots(P)
x =
1.2007
-0.2253 + 0.9951i
-0.2253 - 0.9951i
>> x=[3,3.6];
>> f=polyval(P,x)
f =
82.0000 149.9440
第四章:
符號矩陣的創建:
方法一:A=sym(‘[a,b;c,d]’)
A=
[ a, b]
[ c, d]
方法二:
syms a b c d
B=[a,b;c,d]
B =
[ a, b]
[ c, d]
求A矩陣的特徵值
>>syms a11 a12 a21 a22
>>A=[a11,a12;a21,a22];
>>det(A) %計算行列式值
>>A’ %計算共軛轉置
>>eig(A) %計算特徵值
極限:
>> syms t k
>>ss=sin(k*t)/(k*t)
>> lt=limit(ss,t,0)
lt =1
>> syms k x
>>ss= (1-1/x)^(k*x)
>> lx=limit(ss,x,inf)
lx =1/exp(-k)
求導:
>> syms x t
>> f=[t^3-exp(x),t/x;t*cos(x),log(x)]
>> dfx=diff(f,x,1)
>> dft2=diff(f,t,2)
>> dtx=diff(diff(f,t),x)
求和:
>> syms x
>> ss=int(x*log(x),x,1,10)
級數
>>syms n
>>f=1/(2*n-1)
>>r=symsum(f,n,1,100)
>>double(r)
第五章:圖形
二維:
x=0:pi/100:2*pi;
y1=2*exp(-0.5*x);
y2=cos(4*pi*x);
plot(x,y1,x,y2)
title('x from 0 to 2{\pi}'); %加圖形標題
xlabel('Variable X'); %加X軸說明
ylabel('Variable Y'); %加Y軸說明
legend('y1', 'y2') %加圖例
三維:
x=[0:0.15:2*pi];
y=[0:0.15:2*pi];
[X,Y]=meshgrid(x,y)
Z=sin(Y)*cos(X);
surf(X,Y,Z); % mesh(X,Y,Z);
colormap(hot)
xlabel('x-axis') ;
ylabel('y-axis') ;
zlabel('z-label');
title('3-D surf');
第六章:
M文件的兩種形式(區別)
腳本文件(Script File):通常用於執行一系列簡單的 MATLAB 命令,運行時只需輸入文件名字,MATLAB 就會自動按順序執行文件中的命令;
函數文件(Function File)。可以接受參數,也可以返回參數,在一般情況下,用戶不能靠單獨輸入其文件名來運行函數文件,而必須由其他語句來調用,MATLAB的大多數應用程序都以函數文件的形式給出。
全局變量使用示例:
1. 先建立函數文件wadd.m,該函數將輸入的參數加權相加。
function f=wadd(x,y)
global a b
f=a*x+b*y;
2. 在腳本文件:
global a b
a=1;
b=2;
s=wadd(1,2)
計算級數:S=1+2+22+23+···+263=
s=0;
for i=0:63
s=s+2^i;
i=i+1;
End
disp(s);