- What is the data type return by each of the following MATLAB statement?
- class(eye(3))
- class(rand(4)>0)
- 給定一實數矩陣 A,請寫一列 MATLAB 敘述,將其所有非正元素設定成零。
Solution:
A(A<=0)=0; - 給定一實數矩陣 A,請寫一列 MATLAB 敘述,將其所有零元素設定成 nan。
Solution:
A(A==0)=nan; - 給定一實數矩陣 A,請寫一列 MATLAB 敘述,將其所有 nan 元素設定成零。
Hint: Use "isnan".Solution:
A(isnan(A))=0; - 給定一實數矩陣 A,請寫一列 MATLAB 敘述,列出所有介於 7 和 11 之間的的元素,
Solution:
A(7 - 給定一實數和複數交錯的矩陣 A,請寫 MATLAB 一列敘述,將其所有複數元素設定成 nan。
Hint: Use "imag" to extract the imaginary part of a matrix.Solution:
A(~(imag(A)==0))=nan; - 請排列下列數學運算元的優先順序:
Ans: 優先順序: c>a>b>d>e
- 負號(-)
- 元素左除(.\)
- 共軛轉置(')
- 加法(+)
- 冒號(:),例如 x=1:2:10
- What are the values returned by the following expressions?
- bitor(10,2)
- bitand(10,2)
- bitshift(10,2)
- bitxor(10,2)
- 執行下列程式碼後,請問變數 a, b, c, d, e 的值各是多少?
x=[2 4 6 8 10]; y=[1 2 3 4 5 ]; a=union(x, y); b=intersect(x, y); c=setdiff(x, y); d=setdiff(y, x); e=setxor(x, y); - 請寫一列 MATLAB 敘述,產生元素值為 0 或 1 的向量,向量長度為 100,出現 0 或 1 的位置由亂數決定,而且
- 0 和 1 的個數大約各佔一半。
Hint: Use "rand", "randn", or "randi".- 0 和 1 的個數剛好各佔一半。
Hint: Use "randperm".- Suppose that
x={'circle', 'diamond', 'line'}; y={'circle', 'square'}; What is the value returned by each of the following MATLAB commands?
- union(x, y)
- intersect(x, y)
- setdiff(x, y)
- setxor(x, y)
- unique([x, y])
- ismember('square', y)
- Let's execute the following script
a=rand(1,100)>0.5; b=rand(1,100)>0.5; c=bitxor(bitxor(a,b), b); d=~bitxor(~bitxor(a,b), b); isequal(a, c) isequal(a, d)
- Explain why a is equal to c.
- Explain why a is equal to d.
- 假設一矩陣 A 可表示如下: $$ A= \left[ \begin{matrix} 0.3 & 0.1 & 0.2\\ 0.2 & 0.7 & 0.4\\ 0.5 & 0.2 & 0.4\\ \end{matrix} \right] $$ 請寫一個 MATLAB 程式找出最小的 正整數 $n$ 值,使得 $A^{n+1}=A^n$ 。此時 $n$ 值為何?
MATLAB程式設計:入門篇