去百度文庫,查看完整內容>
內容來(lái)自用戶(hù):沙坡頭33
一、選擇題
1.產(chǎn)生對角線(xiàn)上全為1,其余為0的2行3列矩陣的命令是()。C
A.ones(2,3)B.ones(3,2)C.eye(2,3)D.eye(3,2)
2.建立3階單位矩陣A的命令是()。A
A.A=eye(3)B.A=eye(3,1)C.A=eye(1,3)D.A=ones(3)
3.產(chǎn)生和A同樣大小的幺矩陣的命令是()。B
A.eye(size(A))B.ones(size(A))
C.size(eye(A))D.size(ones(A))
4.建立5*6隨機矩陣A,其元素為[100,200]范圍內的隨機整數,相應的命令是()。D
A.A=fix(100+200*rand(5,6)) B.A=fix(200+100*rand(5,6))
C.A=fix(100+300*rand(5,6))D.A=fix(100+101*rand(5,6))
5.產(chǎn)生均值為1、方差為0.2的500個(gè)正態(tài)分布的隨機數,相應的命令是()。A。
A.1+sqrt(0.2)*randn(25,20)B.1+0.2*randn(500)
C.0.2+randn(500)D.0.2+randn(25,20)
6.從矩陣A提取主對角線(xiàn)元素,并以這些元素構成對角陣B,相應的命令是()。B
A.B=diag(A)B.B=diag(diag(A))
C.B=diag(triu(A))D.B=diag(tril(A))
7.在MATLAB中定義A=randn(5,4,3,2),則下列關(guān)于A(yíng)的操作中正確的是()。D
A.y=eig(A)B.y=reshape(A,[4 3 6 7])
C.y=cond(A)D.y=sin(A)
8.在命令行窗口中分別輸入下列命令,對應輸出結果正確的是()。C
A.命令x=[-2:2]',結果x=[-2-1 0 1 2]
B.命令x=zeros(1,2);x>0,結果ans=1
C.命令y=diag(eye(3),1)',結果y=[0 0]
D.命令5-10*rand(1,2)
clc; clear all;% 1.有一矩陣A找出矩陣中大于1的元素并將它們重新排成向量B。
% A = [1 2 3 0 -1 2 3 0 -2 1]ind = find(A>1);B = A(ind)% 2.在測量一矩陣A(100,3)存在有奇異值(設大于100的值認為是奇異值)編程實(shí)現刪去奇異值所在行。% % 生成100*3的隨機矩陣A = randint(100, 3, [90 120])[r, c] = find(A>100);A(r, ?? = []% 3.在給定的(100,100)矩陣中刪去整行全為0的行,刪去整列全為0的列。
% % 生成100*100的隨機矩陣A = randint(100, 100, [0 5])ind = [];for i = 1 : 100 temp = A(i, :); if unique(temp) == 0 ind = [ind i]; endendA(ind, ?? = []ind = [];for i = 1 : 100 temp = A(:, 100); if unique(temp) == 0 ind = [ind i]; endendA(:, ind) = []希望對你能有所幫助。
MATLAB 基礎知識
一、MATLAB簡(jiǎn)介
二、MATLAB基礎知識
1、命令窗口是用戶(hù)與MATLAB進(jìn)行交互作業(yè)的主要場(chǎng)所,用戶(hù)輸入的MATLAB交互命令均在命令窗口執行。
例如:在MATLAB命令窗口下鍵入
a=[3 2 3;4 7 6;7 5 9]
按回車(chē)鍵后,顯示結果
a=
3 2 3
4 7 6
7 5 9
2、求逆矩陣命令
格式:[變量]=inv(參數)
例如:輸入b=inv(a),按回車(chē)后,顯示
b= 1.3750 -0.1250 -0.3750
0.2500 0.2500 -0.2500
-1.2083 -0.0417 0.5417
3、MATLAB系統還具有保存歷史紀錄的功能,它將本次啟動(dòng)MATLAB系統之后,用戶(hù)輸入的命令和創(chuàng )建的所有變量的值保存起來(lái),用戶(hù)通過(guò)方向鍵可查找所需的命令。
MATLAB提供了存儲變量和刪除變量的命令。
SAVE [文件名] [變量名1,變量名2,。.]
功能:將命令中的變量保存在給出的文件中。
說(shuō)明:(1)若過(guò)文件名省略,默認保存在MATLAB.MAT中。
(2)若變量名省略,則保存所有的變量到指定的文件中。
(3)若文件名和變量名都省略,則保存所有定義過(guò)的變量到MATLAB.MAT中。
例如:SAVE AA.MAT a b c %將變量a b c保存在文件AA.MAT中。
SAVE BB.MAT % 將所有的變量保存到文件BB.MAT中。
SAVE % 將所有變量保存到文件MATLAB.MAT中。
clear [變量名1 變量名2,。]
功能:刪除指定的變量。
說(shuō)明:若變量名表省略,表明刪除當前工作空間中的所有變量。
例如:clear a b c %刪除變量a b c
clear %刪除當前工作空間的所有變量。
MATLAB還提供了一些命令,專(zhuān)門(mén)管理和控制命令窗口。例如:
clc
格式:clc
功能:清除命令窗口。
home
格式:home
功能:光標移動(dòng)到左上角
who
格式:who
功能:查看當前的所有變量,只給出變量名。
whos
格式:whos
功能:查看當前的所有變量,給出變量的詳細信息。信息同變量瀏覽器。
clear
格式:clear [變量名]
功能:刪除后面列出的變量,如果變量名省略,則刪除所有的變量。
4、MATLAB中的常量
MATLAB提供了整數、實(shí)數、復數和字符四種類(lèi)型數據。對應的常量類(lèi)型也是這四種。實(shí)數在屏幕顯時(shí)默認的小數位數為4位。可以用命令改變實(shí)數的顯示格式。
命令format
格式:format '格式'
例如:format long :輸出實(shí)數為16位
format short e :5位加指數
format long e : 16位加指數
format rat : 有理數近似
矩陣操作
1、提取矩陣的元素
例如:A=[1 2 3 3; 3 2 4 1; 3 4 5 6]
執行b=A(1,2),結果為:
b= 2
執行v=A([1,2],[3,4]),結果為:
v= 3 3
4 1
全部通過(guò)測試,可以運行、問(wèn)題1%Q1 %主函數 num = input('please input a number: ') if func_is_prime(num) disp('The input number is a prime number.'); else disp('The input number is NOT a prime number.'); end%子函數 function result = func_is_prime(x) temp = 2:x-1; temp = x./temp; result = (temp ~= round(temp)); 問(wèn)題2%Q2 zero_num = 0; for x = 1:2007; zero_num = func_cal_zero_num(x) + zero_num; end disp(zero_num);%子函數,統計數字中0的個(gè)數 function result = func_cal_zero_num(x) result = 0; if x>=0 & x result = 1; elseif x>=10 & x result = 1; elseif x>=100 & x result = 1; elseif x>=100 & x result = 1; elseif x>=1000 & mod(x,1000)==0; result = 1; elseif x>=1000 & mod(x-mod(x,10),100)==0 ~mod(x-mod(x,100),1000)==0; result = 1; elseif x>=1000 & mod(x-mod(x,100),1000)==0 ~ mod(x-mod(x,10),100)==0; result = 1; end 問(wèn)題3%Q3 x = -3:0.01:3; y=zeros(size(x)); for i = 1:length(x) if -3 y(i)=(-x(i).^2-4*x(i)-3)/2; elseif -1 y(i)=-x(i).^2+1; elseif 1 y(i)=(-x(i).^2+4*x(i)-3)/2; end end plot(x,y); 問(wèn)題4%Q4 k = menu('please choose a number', '1', '4'); switch k case 1 a = -10; b = 10; result = a + (b-a) * rand(1); case 4 a = 0; b = 1; result = a + sqrt(b) * randn(1); end disp(result); 問(wèn)題5 %Q5 x = 25; result = 0; if x result = x*0.1; elseif x>10 & x result = 10*0.1+(x-10)*0.05; elseif x>20 & x result = 10*0.1+10*0.05+(x-20)*0.02; else result = 10*0.1+10*0.05+20*0.02+(x-40)*0.01; end disp(result); 問(wèn)題6%Q6 num = 3; a = 1; b = 2; result = 0; for i = 1:num result = result + b/a; temp = a; a = b; b = temp + b; end disp(result); 問(wèn)題7,也是約瑟夫環(huán)問(wèn)題%Q7 n = 20; m = 7; arr_size = n; s = 1; a = 1:n; result = zeros(1,n); s1 = s-1; for t = n:-1:1 s1 = rem((s1 +m-1),t); w = a(s1+1); fprintf('The %d-th person is out\n',w);% 顯示第幾號人出列 result(n-t+1) = w;% 將出列的人放入result數組 for t=s1+1:1:arr_size-1%移動(dòng)數組元素 a(t)=a(t+1); end arr_size = arr_size-1; end disp(result);。
可能是我的理解能力很差,您第二、三題的要求我沒(méi)有讀明白,如果需要,可以直接聯(lián)系我的Q,或者說(shuō)的更詳細些,我很愿意同您一起學(xué)習。
這是第一題的答案(score.txt文件必須放在MATLAB能尋找到的目錄下)
fid=fopen('score.txt','r'); s=fscanf(fid,'%f'); fis=fclose(fid); eve=mean(s); disp('EVE='); disp(eve); a=0;b=0;c=0;d=0;e=0; for i=1:25 if(s(i)>=90) a=a+1; elseif(s(i)>=80) b=b+1; elseif(s(i)>=70) c=c+1; elseif(s(i)>=60) d=d+1; else e=e+1; end end disp('A=');disp(a); disp('B=');disp(b); disp('C=');disp(c); disp('D=');disp(d); disp('E=');disp(e);
聲明:本網(wǎng)站尊重并保護知識產(chǎn)權,根據《信息網(wǎng)絡(luò )傳播權保護條例》,如果我們轉載的作品侵犯了您的權利,請在一個(gè)月內通知我們,我們會(huì )及時(shí)刪除。
蜀ICP備2020033479號-4 Copyright ? 2016 學(xué)習?shū)B(niǎo). 頁(yè)面生成時(shí)間:2.786秒