3月 17, 2012

Matlab 基礎語法

程式接續下一行用...
var = 1+1 +-*/ ^次方
str=’gggg’ 字串
str3(6:10) 取出字串6到10個字
str3[1 6 9] 取出第1 6 9個字
eval(‘32+6’)字串轉數值

陣列

一維陣列
列陣列 v2 = [1 2 3 4]
行陣列 v3 = [1;2;3]
[a,b]橫向並排 [a;b]直向並排
Y=[a:b] 建立一個間距為1 建立列向量
A:step:b step=間距
A(直行,橫列)
sort(v1) 由小到大
sort(v1,’descend’) 由大到小
[val,ind]=max(a) 找出每一行最大值的索引值
[mx,col]=max(a) 找出每一列最大值的索引值
Rand 隨機亂數 0~1
Rand(n) 0~1 n*n亂數矩陣
Randn 平均值0 標準差為1的常態分佈亂數
Fliplr(a)將陣列左右翻轉
Flipud(a)將陣列上下翻轉
Rot90(a)逆時針轉90度
Rot90(a,k)逆時針轉k*90度 
a = [12;45]
b = [2;3]
c = a. *b 在運算元前面加. 表示元素對元素的運算
關係運算子
==等於
~= 不等於

& and
| or
~ not運算
If i<2
Elseif h&lt;2
Else
End
Switch kk&lt;1
Case 1
Otherwise 敍述主體n
End
For num=1:200
End
For i=[1 2;3 4]
End
While i&lt;100

End;
M =[1 5 9; 2 4 10; 3 5 7; 1 3 5; 3 4 5; 5 8 9; 4 6 10; 8 9 12; 7 10 11; 10 12 14]
 
for i=1:10
M(i,4) = (M(i,1)+2*M(i,2)+M(i,3))/4%P1 value 
M(i,5) = M(i,3)-M(i,1)%P3 value
end;
K=sortrows(M,4) 依照陣列索引排序
for o=1:11
for j=1:10
    if K(o,4) == K(j,4)
        if K(o,2) > K(o+1,2)
            temp = K(o,1:5)
            K(o,1:5) = K(j,1:5)
            K(j,1:5) = temp
        elseif K(o,2) == K(j,2) & K(o,5) > K(j+1,5)
           
                temp = K(o,1:5)
                K(o,1:5) = K(j,1:5)
                K(j,1:5) = temp
            
        end;
    end;
end;
end;
 



 

沒有留言: