Matlab基礎語法

2021-10-02 12:23:53 字數 3880 閱讀 9183

2020.02.02一更

你好呀!初學matlab,做乙個記錄。本文適合有c基礎的matlab小白(我自己)。

力求簡短,文章多用**舉例。

知識點:矩陣寫法迴圈、判斷輸入輸出函式畫圖(二維,三維,曲面,動態)。

乘方(.^),不等於(~=),數學乘法(.*)

生成乙個2x3矩陣:

// 寫法1:

x =[12

3;45

6]// 寫法2:

x =[12

3;45

6]

總結:常見fprintf(), disp()

fprintf()

fprintf

('a = %g\n'

, a)

% 可以控制輸出格式

disp()

disp

('a'

)% 輸出字元'a'

disp

(a)% 輸出變數 a

disp([

,' '

,'banana'

,' '

,'pig'])

% 輸出字串,中間帶空格,也可以同時輸出多個變數

總結:縮排代替花括號,末尾end表結束

if else 判斷正負

if

(x>0)

disp

('x>0');

elseif x<

0disp

('x<0'

)else

disp

('x=0'

)end

while迴圈,求最大公約數(輾轉相除法)

a =

input

('please enter a\n'

)b =

input

('please enter b\n'

)r =

mod(a,b)

while r ~=0

a = b

b = r

r =mod(a,b)

enddisp

(b)

for迴圈

//基本用法

for i =5:

-1:5

% 起點,步長,終點

disp

(i)end

//遍歷向量

v =[12

3654

]for i = v

disp

(i)end

x =

mod(10,

3)% x=

1

function名字與儲存檔名保持一致,函式宣告原型即使用原型,引數一一對應,格式function [output parameter] = name[input parameter]

//求約數個數 

function result =

conut_factors

(n) count =0;

for i =

1: n

ifmod(n,i)==0

count = count +

1 end

endresult = count

end

儲存後,指令碼直接呼叫即可。

//是否質數

function result =

is_prime

(n) count =

count_factors

(n);

if count ==

2 result =

1else

result =

0 end

end

二維圖形plot(x,y),三維圖形plot3(x,y,z),分割畫面畫圖subplot(m,n,x)

matlab會先找點,然後plot(直線)連線起來

二維

x =[1

23];

y =[45

6];% grid on

(off);%

開啟(關閉)背景網格

%title

('test');

% 設定標題

%xlabel

('x'),

ylabel

('y');

% 設定x,y標題

axis([

-5,5

,-5,

5]);

% x起點,終點,y起點,終點

axis equal;

% x,y間距相等

plot

(x,y)

;hold on;

% 防止再次呼叫plot函式覆蓋影象

x =-4

:0.1:4

;y1 =

cos(x)

;y2 =

cos(2.

* x)

;y4 =

cos(4.

* x)

;subplot(2

,2,1

);plot

(x,y1)

;title

('y=cos(x)');

subplot(2

,2,2

);plot

(x,y2)

;title

('y=cos(2x)');

subplot(2

,2,[

3,4]

;% 佔3

,4兩位

plot

(x,y3)

;title

('y=cos(4x)'

);

三維

theta =

0: pi/

50 : 6

*pi;

x =cos

(theta)

;y =

sin(theta)

;z =0:

300;

plot3

(x,y,z)

;

曲面surf(x,y,z)

x =-3

:3;y =-3

:3;[

x,y]

=meshgrid

(x,y);%

[x,y

]將形成平面的乙個矩陣z=

x.^2

+y.^

2;surf(x

,y,z

);

動態畫圖

x=-

2*pi : pi/20:

2*pi;y=

sin(x)

; h =

plot(x

,y);

while

truex=

x+0.1;y=

sin(x)

;set

(h,'xdata',x

,'ydata',y

);%set

(控制代碼,屬性名1, 屬性值1, 屬性名2, 屬性值2...

) drawnow;

end

先寫這些吧,後面有新的東西再更新。新的一年加油,武漢加油!

matlab學習一,基礎語法

一 陣列的建立 直接輸入 temp 1,2,34,5 67,8,9 冒號操作符 a?c 在 a c 範圍內,間隔為b temp 1 2 5 輸出temp 1,3,5 linspace函式 linspace 1 8,3 linspace 1 2,8 將區間 a,b,n 分為n 1等份 ans 1 4....

Matlab 基本語法

注釋 使用 進行注釋,選中對應區域,按ctrl r可以一鍵注釋 注釋內容 邏輯運算 在matlab中,和c語言一樣,可以使用 和 但是也有不一樣的地方,例如 是不等於的意思,而不能使用 四則運算 1 1 1 1 1 1 1 1在matlab中輸出的結果如果沒有變數表示,預設使用ans表示 例如 4 ...

Matlab 基本語法

檔案 1.改變路徑 直接路徑 cd d workspaces matlab 資料夾名稱 到上層路徑 cd 到上上層路徑 cd 到當前資料夾的子資料夾 cd 子資料夾名稱 2.m檔案執行 open 檔名 3.檢視路徑 dir 畫圖 1.讀取 imdata imread 名.格式 或者 imdata i...