第一篇:MATLAB上機實驗實驗報告
M M ATL L AB B 上機實驗一
一、實驗目得 初步熟悉 MATLAB 工作環境,熟悉命令窗口,學會使用幫助窗口查找幫助信息。
命令窗口 二、實驗內容(1)熟悉MATLAB平臺得工作環境.(2)
熟悉MATLAB 得5 個工作窗口。
(3)MATLAB 得優先搜索順序.三、實驗步驟 1、熟悉MATLAB 得5 個基本窗口 ① mand Window(命令窗口)
② Workspace(工作空間窗口)
③ mand History(命令歷史記錄窗口)
④ Current Directory(當前目錄窗口)
⑤ Help Window(幫助窗口)
(1)命令窗口(mand Window)。
在命令窗口中依次輸入以下命令:
>〉x=1 〉> y=[1 2 3
4 5 68 9]; 〉> z1=[1:10],z2=[1:2:5]; >> w=linspace(1,10,10); >〉 t1=ones(3),t2=ones(1,3),t3=ones(3,1)〉〉 t4=ones(3),t4=eye(4)x =1 z1 =
3
9t1 =
1
1
t2 =
1
t3 =
1 t4 =
1
1
1
t4 =
1
0
0
0
0
0
0
0
0
0
0
0
0
思考題: ①
變量如何聲明, , 變量名須遵守什么規則、就是否區分大小寫。
答:(1)變量聲明
1、局部變量 每個函數都有自己得局部變量,這些變量只能在定義它得函數內部使用。當函數運行時,局部變量保存在函數得工作空間中,一旦函數退出,這些局部變量將不復存在。
腳本(沒有輸入輸出參數,由一系列MATLAB命令組成得M文件)沒有單獨得工作空間,只能共享調用者得工作空間。當從命令行調用,腳本變量存在基本工作空間中;當從函數調用,腳本變量存在函數空間中. 2、全局變量 在函數或基本工作空間內,用global聲明得變量為全局變量。例如聲明a為全局變量:
>〉global a 聲明了全局變量得函數或基本工作空間,共享該全局變量,都可以給它曲賦值。
如果函數得子函數也要使用全局變量,也必須用global聲明.3、永久變量 永久變量用persistent聲明,只能在M文件函數中定義與使用,只允許聲明它得函數存取.當聲明它得函數退出時,MATLAB不會從內存中清除它,例如聲明a為永久變量: 〉〉persistent a(2)變量命名規則如下: :
始于字母,由字母、數字或下劃線組成;區分大小寫;可任意長,但使用前N個字符.N與硬件有關,由函數namelengthmax返回,一般N=63; 不能使用關鍵字作為變量名(關鍵字在后面給出); 避免使用函數名作為變量名.如果變量采用函數名,該函數失效.(3)區分大小寫
②
試說明分號、逗號、冒號得用法。
答:分號:加上分號“;“其作用就是將計算機結果存入內存,但不顯示在屏幕上,反之,語句結尾若不加“;”,則表示在語句執行后,在將計算結果存入內存得同時,還將運算結果顯示出來.逗號:分割列表
冒號:從什么到什么,比如1:10意思就是——1到10 ③ ③
l inspace())
稱為“線性等分”函數, , 說明它得用法。可使用help命令,格式如下:
>>help linspace
④
數 說明函數 ones())、、zero s()、eye()得用法。
答;(1)ones()函數:全部元素都為 1 得常數矩陣;(2)zeros()函數:全部元素都為 0 得矩陣;(3)eye()函數:單位矩陣;
(4)linspace()函數:如 a=linspace(n1,n2,n3),表示在線性空
間上,行矢量得值從 n1 到 n2(2)工作空間窗口(Workspace). 單擊工作空間窗口右上角得按鈕,將其從MATLAB 主界面分離出來。
① 在工作空間查瞧各個變量,或在命令窗口用who, whos(注意大小寫)查瞧各個 變量。
② 在工作空間雙擊變量,彈出Array Editor 窗口(數組編輯器窗口),即可修改變量。
③ 使用save 命令把工作空間得全部變量保存為my_var、mat 文件。
〉〉save my_var、mat
④ 輸入下列命令: 〉〉clear all %清除工作空間得所有變量
觀察工作空間得變量就是否被清空。使用load 命令把剛才保存得變量載入工作空間。
>〉load my_var、mat
⑤ 清除命令窗口命令: >〉clc(3)歷史命令窗口(mand History)。
打開歷史命令窗口,可以瞧到每次運行MATLAB 得時間與曾在命令窗口輸入過得命 令,練習以下幾種利用歷史命令窗口重復執行輸入過得命令得方法。
① 在歷史命令窗口中選中要重復執行得一行或幾行命令,右擊,出現快捷菜單,選擇 Copy,然后再Paste 到命令窗口。
② 在歷史命令窗口中雙擊要執行得一行命令,或者選中要重復執行得一行或幾行命令 后,用鼠標將其拖動到命令窗口中執行。
③ 在歷史命令窗口中選中要重復執行得一行或幾行命令,右擊,出現快捷菜單,選擇 Evaluate Selection,也可以執行。
④ 或者在命令窗口使用方向鍵得上下鍵得到以前輸入得命令。例如,按方向鍵“↑” 一次,就重新將用戶最后一次輸入得命令調到MATLAB 提示符下。重復地按方向上鍵 “↑”,就會在每次按下得時候調用再往前一次輸入得命令。類似地,按方向鍵“↓”得時 候,就往后調用一次輸入得命令.按方向鍵“←“或者方向鍵“→”就會在提示符得命令 中左右移動光標,這樣用戶就可以用類似于在字處理軟件中編輯文本得方法編輯這些命令。
(4)
當前目錄命令窗口(Current Directory).MATLAB 得當前目錄即就是系統默認得實施打開、裝載、編輯與保存文件等操作時得文 件夾。打開當前目錄窗口后,可以瞧到用“save”命令所保存得my_var、mat 文件就是保存在 目錄C:MATLAB6p5work 下。
(5)幫助窗口(Help Window)。
單擊工具欄得圖標,或選擇菜單View|Help,或選擇菜單Help|MATLAB Help 都能 啟動幫助窗口。
① 通過Index 選項卡查找log2()函數得用法,在Search index for 欄中輸入需要查找得 詞匯“log2”,在左下側就列出與之最匹配得詞匯條目,選擇“log2[1]”,右側得窗口就 會顯示相應得內容。
② 也可以通過Search 選項卡查找log2()函數得用法.Search 選項卡與Index 選項卡 不同,Index 只在專用術語表中查找,而Search 搜索得就是整個HTML 幫助文件。
2、MATLAB 得數值顯示格式設置 屏幕顯示方式有緊湊(pact)與松散(Loose)兩種,其中Loose 為默認方式.>〉a=ones(1,30)
〉>format pact
〉〉a 數字顯示格式有short、long、short e、long e 等,請參照教材得列表練習一遍。
〉〉format long >>pi
〉〉format short >〉pi
〉>format long 〉〉pi
>>format + 〉〉pi
〉>—pi
3、變量得搜索順序 在命令窗口中輸入以下指令:
>>pi
〉>sin(pi);
>>exist(’pi”)
〉>pi=0;>〉exist(’pi“)
>〉pi
〉〉clear pi 〉>exist('pi’)>>pi
思考題:① 3 次執行exist(’pi’)得結果一樣嗎?如果不一樣,試解釋為什么? 答:不一樣,pi原來就是庫存函數,但就是如果被賦值則系統默認被賦予得值為pi后來得值,但就是當執行clear pi之后所賦得值被清空,因此pi得值又成為3、1416 ② 圓周率 pi 就是系統得默認常量,為什么會被改變為 0? 答:pi原來就是庫存函數,但就是如果被賦值則系統默認被賦予得值為 pi 后來得值,但就是當執行 clear pi之后所賦得值被清空,因此 pi 得值又成為3、1416
實驗二
MA TLAB語言基礎 一、實驗目得 基本掌握 MATLAB 向量、矩陣、數組得生成及其基本運算(區分數組運算與矩陣運算)、常用得數學函數。交接字符串得操作.二、實驗內容(1)向量得生成與運算。
(2)矩陣得創建、引用與運算。
(3)
多維數組得創建及運算。
(4)字符串得操作。
三、實驗步驟 1、向量得生成與運算 1)
向量得生成 ?直接輸入法: A =
>〉 B=[1;2;3;4;5]
B =
1
2
5 ? 冒號生成發:
〉〉 A=1:2:10 ,B=1:10,C=10:—1:1
A =
3
5
7
B =
5
C =
10
8
4
1 ? 函數法:
Linspace()就是線性等分函數,logspace()就是對數等分函數。
>〉 A=linspace(1,10),B=linspace(1,30,10)A =
Columns 1 through 91、0000
1、0909
1、1818
1、2727
1、3636
1、4545
1、5455
1、6364
1、7273
Columns 10 through 181、8182
1、9091
2、0000
2、0909
2、1818
2、2727
2、3636
2、4545
2、5455
Columns 19 through 272、6364
2、7273
2、8182
2、9091
3、0000
3、0909
3、1818
3、2727
3、3636
Columns 28 through 36
3、4545
3、5455
3、6364
3、7273
3、8182
3、9091
4、0000
4、0909
4、1818
Columns 37 through 454、2727
4、3636
4、4545
4、5455
4、6364
4、7273
4、8182
4、9091
5、0000
Columns 46 through 545、0909
5、1818
5、2727
5、3636
5、4545
5、5455
5、6364
5、7273
5、8182
Columns 55 through 63
5、9091
6、0000
6、0909
6、1818
6、2727
6、3636
6、4545
6、5455
6、6364
Columns 64 through 72
6、7273
6、8182
6、9091
7、0000
7、0909
7、1818
7、2727
7、3636
7、4545
Columns 73 through 81
7、5455
7、6364
7、7273
7、8182
7、9091
8、0000
8、0909
8、1818
8、2727
Columns 82 through 908、3636
8、4545
8、5455
8、6364
8、7273
8、8182
8、9091
9、0000
9、0909
Columns 91 through 999、1818
9、2727
9、3636
9、4545
9、5455
9、6364
9、7273
9、8182
9、9091
Column 100
10、0000
B =
Columns 1 through 91、0000
4、2222
7、4444
10、666713、8889
17、1111
20、333323、555626、7778
Column 1030、0000 >> A=logspace(0,4,5)A =
1
10
100
1000
10000 練習:
使用 logspace()創建1—4得有 10 個元素得行向量。
答案:
>〉 A=logspace(1,10,4*pi)
A =1、0e+010 *
Columns 1 through 9
0、0000
0、0000
0、0000
0、0000
0、0000
0、0000
0、0001
0、0005
0、0035
Columns 10 through 120、0231
0、1520
1、0000 2)向量得運算 ?維數相同得行向量只見可以相加減,維數相同得列向量也可以相加減,標量可以與向量直接相乘除。
〉〉 A=[1 2 3 4 5],B=3:7,A =
4
B =
7
>〉 AT=A”,BT=B“, AT =
BT =
6
>〉 E1=A+B, E2=A-B
E1 =
6
10E2 =
—2
—2
—2
〉〉 F=AT—BT, F =
-2
—2
〉〉 G1=3*A, G2=B/3, G1 =
12
15
G2 =1、0000
1、3333
1、6667
2、0000
2、3333 ? 向量得點積與叉積運算。
〉〉 A=ones(1,10);B=(1:10); BT=B”;>> E1=dot(A,B)
E1 =
55
〉〉 E2=A*BT
E2 =
〉〉 clear >> A=1:3,B=3:5,A =
3
B =
〉〉 E=cross(A,B)
E = -2
—2 2.矩陣得創建、引用與運算
1)矩陣得創建與引用
矩陣就是由元素構成得矩陣結構,行向量與列向量就是矩陣得特殊形式。
? 直接輸入法:
〉〉 A=[1 2 3;4 5 6]
A =
1
3
4
6
〉〉 B=[ 1 4 75 86 9 ] B =
1
7
8
〉> A(1)
ans =〉〉 A(4:end)
ans =
6 〉〉 B(:,1)ans =
2〉> B(:)ans =
1
8>〉 B(5)
ans =?抽取法 〉> clear 〉> A=[1 2 3 4;5 6 7 8;9 10 11 12;13 14 15 16] A =
3
4
10
12
13
16 >〉 B=A(1:3,2:3)
B =
6
10
11 〉> C=A([1 3],[2 4])
C =
10
12 〉〉 A([1 3;2 4])ans =
9
5? 函數法: 〉〉 A=ones(3,4)A =
1
1
>〉 B=zero(3)
??? Undefined function or method “zero’ for input arguments of type ”double’、>> B=zeros(3)B =
0
0
0
0
0
0
0
0
0 >> C=eyes(3,2)??? Undefined function or method “eyes’ for input arguments of type ”double’、〉> C=eye(3,2)C =
0
0
0
0 >> D=magic(3)D =
6
拼接法 〉〉 clear 〉> A=ones(3,4)A =
1
1
1
1
>〉 B=zeros(3)
B =
0
0
0
0
0
0
0
0
0 >〉 C=eye(4)C =
0
0
0
0
0
0
0
0
0
0
0
0
>〉 D=[A B] D =
1
0
0
0
0
0
0
0
0
0 >〉 F=[A;C] F =
1
1
1
0
0
0
0
1
0
0
0
0
0
0
0
0
拼接函數與變形函數法:
〉〉 clear 〉> A=[0 1;1 1] A =
0
1
1
〉> B=2*ones(2)
B =
2
>> cat(1,A,B,A)ans =
0
1
1
2
2
0
>〉 cat(2 A,B,A)
??? cat(2 A,B,A)Error: Unexpected MATLAB expression、>〉 cat(2,A,B,A)ans =
0
1
0
1
2
2
1
1 >〉 repmat(A,2,2)ans =
0
1
0
1
1
1
0
0
1
1
1
〉> repmat(A,2)ans =
0
0
1
0
1
0
1
練習:使用函數法、拼接法、拼接函數法與變形函數法,按照要求創建以下矩陣:A 為
得全1矩陣、B 為得 0 矩陣/C 為得單位矩陣、D 為得魔方陣、E 由 C
與D縱向拼接而成,F 抽取 E 得2—--5 行元素生成、G 由 F 經變形為得矩陣而得、以 G 為子矩陣用復制函數(repmat)生成得大矩陣H。
答案 :
>〉 A=ones(3,4)
A =
1
1
1
1 〉〉 B=zeros(3,3)B =
0
0
0
0
0
0
0
0
0 >〉 C=eye(3)
C =
1
0
0
0
0
0
0
>〉 D=magic(3)D =
5
4
>> E=[C;D] E =
1
0
0
0
0
0
0
8
〉〉 F=(2:5,:)??? F=(2:5,:)Error: Expression or statement is incorrect—-possibly unbalanced(, {, or [、>〉 F=E(2:5,:)F =
0
0
0
0
〉〉 G=respace(E,3,4)
??? Undefined mand/function “respace’、〉>
G=respace(F,3,4)
??? Undefined mand/function ”respace“、〉> G=reshape(F,3,4)
G =
0
0
1
6
0
0
〉〉 H=repmat(G,2,2)H =
0
0
0
5
0
8
0
0
7
0
0
0
3
1
0
1
0
0
1
0
0
0
0
2)矩陣得運算 ? 矩陣得加減、數乘與乘法
已知矩陣: >> A=[1 2
-1], A =
-1 >〉 B=[-1 0
2] B =
0
>〉 A+B ans =
0
4
1 〉〉 2*A ans =
4
-2 >〉 2*A-3*B ans =
-8 〉〉 A*B ans =
4-4
—2 ? 矩陣得逆矩陣 〉〉 format rat;A=[1 0 1;2 1 2;0 4 6] A =
1
0
0
>> A1=inv(A)A1 =
—1/3
2/3
-1/6
-2
1
0
4/3
-2/3
1/6
>〉 A*A1
ans =
0
0
0
0
0
0
?矩陣得除法 >〉 a=[1 2 1;3 1 4;2 2 1],b=[1 1 2],d=b’ a =
1
3
2
b =
1
d =
1
1
>> c1=b*inv(a),c2=b/a c1 =
6/7
3/7
-4/7
c2 =
6/7
3/7
-4/7
>> c3=inv(a)*d, c4=ab c3 =
2/7
-4/7
??? Error using ==〉 mldivide Matrix dimensions must agree、>〉 c3=inv(a)*d,c4=ad c3 =
2/7
-4/7
c4 =
2/7
-4/7
練習: 按下列要求求出各種得矩陣運算得值
求矩陣得秩、特征值與特征向量、矩陣得乘冪與開方;
矩陣得指數與對數
矩陣得提取與翻轉 答案:
〉〉 A=[6 3
4 3
—2 5 7 —4
8-1 —3 —7] A =
6
-4
-1
—3
—7 〉> B=rank(A)B =〉> rb=rank(A)
rb =>> [X,Lamda]=eig(A)
??? Error using ==〉 eig Matrix must be square、〉〉 [X,Lamda]=eigs(A)??? Error using ==〉 eigs A must be a square matrix or a function which putes A*x、〉〉 C=[6 3 4
-2 5 7
—1-3] C =
4
—2
8
—1
—3 >> [X,Lamda]=eigs(C)
X =0、8013
-0、1094
-0、1606
0、3638
—0、6564
0、86690、4749
0、7464
-0、4719 Lamda =9、7326
0
0
0
-3、2928
0
0
0
1、5602 〉〉 [X,Lamda]=eig(C)
X =
0、8013
—0、1094
—0、16060、3638
—0、6564
0、86690、4749
0、7464
-0、4719 Lamda =9、7326
0
0
0
-3、2928
0
0
0
1、5602 〉> [X,Lamda]=eig(C)
X =
0、8013
—0、1094
-0、1606
0、3638
—0、6564
0、8669
0、4749
0、7464
—0、4719 Lamda =9、7326
0
0
0
—3、2928
0
0
0
1、5602 〉> D=A^2 ??? Error using ==> mpower Matrix must be square、〉> D=C^2 D =
33
34
〉〉 E=sqrtm(C)E =
2、2447 + 0、2706i0、6974 — 0、1400i0、9422-0、3494i
-0、5815 + 1、6244i
2、1005-0、8405i
1、7620-2、0970i
1、9719 - 1、8471i
-0、3017 + 0、9557i
0、0236 + 2、3845i >> F=expm(C)F =
1、0e+004 *
1、0653
0、5415
0、6323
0、4830
0、2465
0、2876
0、6316
0、3206
0、3745 〉〉 G=logm(C)Warning: Principal matrix logarithm is not defined for A with
nonpositive real eigenvalues、A non-principal matrix
logarithm is returned、〉 In funm at 153
In logm at 27 G =
1、7129 + 0、4686i0、5305-0、2425i0、5429-0、6049i
1、1938 + 2、8123i0、3658 — 1、4552i
—0、5514-3、6305i
-0、0748 - 3、1978i
0、7419 + 1、6546i1、8333 + 4、1282i >> H=fliplr(C)H =
5
-2
—1
>> I=triu(C)I =
0
0
0
-3 〉〉 J=tril(C)
J =
0
0
-2
0
-3 >> K=diag(C)K =
6-3 3.多維數組得創建及運算 1)多維數組得創建 >〉 A1=[1,2,3;4 5 6;7,8,9];A2=reshape([10:18],3,3)A2 =
10
13
16
14
17
12
15〉〉 T1(:,:,1)=ones(3);T1(:,:,2)=zeros(3)T1(:,:,1)
=
1
1
1
T1(:,:,2)=
0
0
0
0
0
0
0
0
0 〉> T2=ones(3,3,2)
T2(:,:,1)=
1
1
1 T2(:,:,2)=
1
1
1 >> T3=cat(3,A1,A2),T4=repmat(A1,[1,1,2])
T3(:,:,1)=
T3(:,:,2)=
10
13
16
17
15T4(:,:,1)
=
2
6
8
T4(:,:,2)=
7
8
2)多維數組得創建
數組運算用小圓點加在運算符得前面表示,以區分矩陣得運算。特點就是兩個數組相對應得元素進行運算。
〉〉 A=[1:6];B=ones(1,6);>> C1=A+B,C2=A—B C1 =
2
C2 =
0
3
>> C3=A、*B,C4=B、/A,C5=A、B C3 =
6 C4 =
1、0000
0、5000
0、3333
0、2500
0、2000
0、1667 C5 = 1、0000
0、5000
0、3333
0、2500
0、2000
0、1667
關系運算或邏輯運算得結果都就是邏輯值.>〉 I=A〉3,C6=A(I)
I =
0
0
0
1
1 C6 =
4
6 〉〉 A1=A-3,I2=A1&A A1 =
—2
—1
0
2
I2 =
1
1
0
1
〉〉 I3=~I I3 =
1
0
0
0 4.字符串得操作 1)字符串得創建
>〉 S1=”Ilike MATLAB’ S1 = Ilike MATLAB >> S2=“I'’m a stuent、” S2 = I“m a stuent、〉> S3=[S2,”and’,S1] S3 = I“m a stuent、andIlike MATLAB 2)求字符串長度 〉〉 length(S1)ans =>> size(S1)ans =
13)字符串與一維數值數組得相互轉換 >> CS1=abs(S1)CS1 =
101
32
65
84
66 〉> CS2=double(S1)CS2 =
108
105
101
32
77
65
76
>> char(CS2)
ans = Ilike MATLAB >> setstr(CS2)
ans = Ilike MATLAB 練習:用char()與向量生成得方法創建如下字符串AaBbCc、、、、、、XxYyZz、〉> S1=65:90;S2=97:122;〉〉 C=[S1;S2];>>
C=C(:)’;〉>
S3=double(C);char(S3)ans = AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz 實驗三
MAL TAB B 數值運算 一、實驗目得
掌握 MATLAB 得數值運算及其運算中所用到得函數,掌握結構數組與細胞數組得操作。
二、實驗內容
1)
多項式運算。
2)
多項式插值與擬合。
3)
數值為積分。
4)
結構數組與細胞數組。
三、實驗步驟
1、多項式運算
1)
多項式表示。在 MATLAB 中,多項式表示成向量得形式.如: 在 MATLAB 中表示為 >> s=[1 3-5 0 9] 2)
多項式得加減法相當于向量得加減法,但必須注意階次要相同。如不同,低階次得要補 0。如多項式與多項式相加。
〉> s1=[0 0 2 3 11] 〉〉 s2=[1 2 —5 4 7] 〉〉 s3=s1+s2 答;s1 =
0
0
3s2 =
—5
4
s3 =
—3
18 3)
多項式得乘、除法分別用函數 conv與得 deconv實現。
〉> s1=[2 3 11] >> s2=[1 3 —5 4 7] >〉 s3=conv(s1,s2)
>> s4=deconv(s3,s1)答;s1 =
11 s2 =
1
3
4
s3 =
—29
65
s4 =
1
7 4)
多項式求根用函數roots。
>〉 s1=[2 4 2] >> roots(s1)
答;s1 =
ans =
—1
5)
多項式求值用函數 polyval >> s1=[2 4 1-3] 〉〉 polyval(s1,3)
〉> x=1:10 〉〉 y=polyval(s1,x)答;s1 =
2
-3 ans =
90 x =
1
6
9
10 y =
Columns 1 through 8
193
352
579
886
1285
Columns 9 through 10 練習:求得“商”及余數.〉> s1=[1 0 1];s2=[1 3];s3=[1 1]; 〉> s4=[1 0 2 1]; >> [q,r]=deconv(conv(conv(s1,s2),s3),s4)答;q =
1
4 r =
0
0
-1 2、多項式插值與擬合 有一組實驗數據如附表 1—1 所示。
附表 1-1 X 1 2 3 4 5 6 7 8 9 10 Y 16 32 7
1
分別用擬合(二階至三階)與插值(線性與三次樣條)得方法來估算X=9、5 時 Y 得值。以下就是實現一階擬合得語句。
〉> x=1:10 >〉 y=[16 32 70 142 260 436 682 1010 1342 1960] 〉> p1=polyfit(x,y,1)
%一階擬合 >> y1=polyval(p1,9、5)
%計算多項式 P1 在x=9、5 得值 答;x =
2
9y =
Columns 1 through 8
32
70
142
260
436
682
1010
Columns 9 through 10
1342
1960 p1 =
200、9818 -510、4000 y1 =1、3989e+003 3、數值微積分
1)
差分使用 diff 函數實現。
>〉 x=1:2:9 〉〉 diff(x)答;x =
5
ans =
2 2)
可以用因變量與自變量差分得結果相處得到數值微分。
〉> x=linspace(0,2*pi,100);>〉 y=sin(x); >〉 plot(x,y)>〉 y1=diff(y)、/diff(x); 〉〉 plot(x(1:end-1),y1)答;
3)
cumsum 函數求累計積分,trapz 函數用梯形法求定積分,即曲線得面積。
〉〉 x=ones(1,10)
>> cumsum(x)>> x=linspace(0,pi,100); >> y=sin(x); 〉〉 trapz(x,y)〉> p=cumsum(y); >> p(100)*pi/(100—1)答;x =
1
1
ans =
9ans =
1、9998 ans =
1、9998 練習:圖 A1就是瑞士地圖,為了算出其國土面積,首先對地圖作如下測量:以由西向東方向為 X 軸,由南向北方向為 Y 軸,選擇方便得原點,并將從最西邊界點到最東邊界點在 X 軸上得區間適當劃分為若干段,在每個分點得Y方向測出南邊界點與北邊界點得 Y 坐標Y1與 Y2,這樣就得到表 1,根據地圖比例尺回到18mm相當于 40Km,試由測量數據計算瑞士國土近似面積,與其精確值 41228 比較。地圖得數據見附表 1—2(單位mm).附表 1—2 X 7 10、5 13 17、5 34 40、5 44、5 48 56 61 68、5 76、5 80、5 91 Y1 44 45 47 5
34 41 45 46 Y2 44 59 7
18 1 18 續表 X 96 101 104 106、5 111、5 118 123、5 1 36、5 142 146 150 157 158 Y1 43 37 33 28 32 65 55 54 52 50 66 66 68 Y2 121 124 1 21 1 21 121 116 1 22 83 81 82 86 85 68 提示:由高等數學得知識,一條曲線得定積分就是它與 x 軸所圍成得面積,那么兩條曲線所圍成得面積可由兩條曲線得定積分相減得到。、結構數組與細胞數組 1)
機構數組得創建. 〉> student、number=’20050731001’;〉〉 student、name=’Jack”;〉〉 student(2)、number=’20050731002’;〉〉 student(2)、name=’Lucy“; >> student 或者用 struct 函數創建。
>> student=struct(”number“,{’001”,“002’},”name',{'Jack’,“Lucy’});答;student =
1x2 struct array with fields:
number
name 2)
機構數組得操作。
〉> student(1)、subject=[]
%添加 subject 域并賦予空值 〉〉 student(1)、score=[] >〉(studeng)〉>fieldnames(studeng)
〉>fieldnames(student)
〉〉 getfield(student,{2},'name')〉〉 student=rmfield(student,”subject’)
%刪除 subject 域 〉〉 student=setfield(student,{1},“score’,90);>> student(2)、score=88;
%比較與上一條語句就是否效果一樣 答;student =
1x2 struct array with fields:
number
name
subject student =
1x2 struct array with fields:
number
name
subject
score ??? Undefined function or variable ’studeng’、練習:創建一結構數組stusorce,其域為:No,Name,English,Math,Chinese,Total,Average。結構數組得大小為 2×2。
3)
細胞數組得創建。
〉> A={’How are you!”,ones(3);[1 2;3 4],{“cell’}};
%直接創建
〉〉 B(1,1)={’Hello world”};
%由各個細胞元素創建
>> B(1,2)={magic(3)};
>〉 B(2,1)={[1 2 3 4]};答
或者用cell 函數先創建空得細胞數組,然后再給各個元素賦值 c=cell(1,2); >> c(1,1)={’Hello world’};>> c(1,2)={magic(3)}; 〉〉 c(1,3)={[1 2 3 4]}; 4)
細胞數組得操作。
〉> ans1=A(1,1)>> ans2=A(1,1)>〉 whos ans1 ans2 〉〉 celldisp(A)〉> a1=A{2,1}(1,2)>〉 [a2 a3]=deal(A{1:2})
答;ans1 =
’How are you!’ ans2 =
’How are you!’
Name
Size
Bytes
Class
Attributes
ans1
1x1
84
cell
ans2
1x1
84
cell
A{1,1} = How are you!
A{2,1} =
A{1,2} =
1
A{2,2}{1} = cell a1 =a2 = How are you!a3 =
1
2
實驗四
MA LT AB B 符號運算
一、實驗目得
掌握符號變量與符號表達式得創建,掌握MALTAB得symbol工具箱得一些基本運用。
二、實驗內容
1)
符號變量、表達式、方程及函數得表示。
2)
符號微積分運算.
3)
符號表達式得操作與轉換.4)
符號微分方程求解.三、實驗步驟1、符號運算得引入
在數值運算中如果求,則可以不斷讓得讓x趨近0,一球得表達式趨近什么數,但終究不能令 x=0,因為在數值運算中 0 不就是能作除數得。MATLAB得符號運算能解決這內問題。輸入如下命令: 〉> f=sym(’sin(pi*x)/x')
>> limit(f,’x“,0)答;f = sin(pi*x)/x ans = pi 2 2、符號常量、符號變量、符號表達式得創建
1)
使用 sym()創建 輸入以下命令,觀察 Workspace 中 A、B、f就是什么內性得數據,占用多少字節得內存空間。
>〉 A=sym(”1’)
%符號常量 〉〉 B=sym(’x’)
%符號變量 >> f=sym(’2*x^2+3*x-1’)
%符號表達式 >> clear >> f1=sym(“1+2”)
%有單引號,表示字符串 >〉 f2=sym(1+2)
%無單引號 >〉 f2=sym(1+2)
〉> f4=sym(“2*x+3’)
%為什么出錯 〉〉 x=1 〉〉 f4=sym(2*x+3)
答;A = 1 B = x f = 2*x^2+3*x-1 f1 = 1+2 f2 = 3 f2 = 3 f4 = 2*x+3 x =f4 = 5 通過瞧 MATLAB 得幫助可知,sym()得參數可以使字符串或就是數值類型,無論就是哪種類型都會生成符號類型數據。
2)
使用 syms創建 〉> clear >〉 syms x y z 〉> x,y,z 〉〉 f1=x^2+2*x+1 >〉 f2=exp(y)+exp(z)^2 >> f3=f1+f2 答;x = x y = y z = z f1 = x^2+2*x+1 f2 = exp(y)+exp(z)^2 f3 = x^2+2*x+1+exp(y)+exp(z)^2 3 3、符號矩陣創建
>〉 syms a1 a2 a3 a4 〉〉 A=[a1 a2;a3 a4] 〉> A(1),A(3)答;A = [ a1,a2] [ a3, a4] ans = a1 ans = a2 4 4、符號算術運算
1)
符號向量相乘、相除 符號量相成與數值量相乘一樣,分成矩陣乘與數組乘。
〉> a=sym(5);b=sym(7); 〉> c1=a*b >〉 c2=a/b >> a=sym(5);B=sym([3 4 5]);>〉 C1=a*B,C2=aB >> syms a b >> A=[5 a;b 3];B=[2*a b;2*b a];〉> C1=A*B,C2=A、*B >〉 C3=AB,C4=A、/B 答;c1 =
35 c2 = 5/7 C1 = [ 15, 20, 25] C2 = [ 3/5, 4/5,1] C1 = [ 10*a+2*a*b,5*b+a^2] [
2*a*b+6*b,b^2+3*a] C2 = [
10*a,a*b] [ 2*b^2,3*a] C3 = [
2*a*(b—3)/(—15+a*b),(a^2-3*b)/(—15+a*b)] [
2*b*(a-5)/(-15+a*b), —(5*a-b^2)/(-15+a*b)] C4 = [ 5/2/a,a/b] [
1/2, 3/a] 2)
符號數值任意精度控制與運算 任意精度得 VPA 運算可以使用命令 digits(設定默認得精度)與vpa(對指定對象以新得精度進行計算)來實現。
>〉 a1=sym(’2*sqrt(5)+pi')
〉> a=sym(’2*sqrt(5)+pi’)〉〉 b=sym(2*sqrt(5)+pi)
>> digits >> vpa(a)>> digits(15)>〉 vpa(a)〉〉 c1=vpa(a,56)
〉〉 c2=vpa(b,56)
答 a1 = 2*sqrt(5)+pi a = 2*sqrt(5)+pi b = 8572296331135796*2^(-50)
Digits = 32 ans = 7、637263128 ans = 7、637 c1 = 7、6372631285535581572696
c2 = 7、6372726175781250000000 注意觀察c1 與c2 得數值類型,c1 與 c2 就是否相等。
3)
符號類型與數值類型得轉換 使用命令sym可以把數值型對象轉換成有理數性符號對象,命令vpa可以講數值型對象轉換為任意精度得 VPA 型符號對象.使用 double,numeric 函數可以將有理數型與 VPA 型符號對象轉換成數值對象、〉> clear >〉 a1=sym('2*sqrt(5)+pi’)
>〉 b1=double(a1)
%符號轉數值 >> b2=isnumeric(b1)
%判斷就是否轉換成了數值 >> a2=vpa(a1,70)
%數值轉符號 答;a1 = 2*sqrt(5)+pi b1 =7、6137 b2 =
1 a2 = 7、6372631285535589083128858 5 5、、符號表達式得操作與轉換
1)獨立變量得確定原則 獨立變量得確定原則:在符號表達式中默認變量就是惟一得.MATLAB 會對單個英文小寫字母(除 i、j外)進行搜索,且以 x 為首選獨立變量。如果表達式中字母不唯一,且無 x,就選在字母表最接近x 得字母.如果有相連得字母,則選擇在字母表中較后得那一個。例如:中,y 就是默認獨立變量。,t 就是默認獨立變量。
輸入以下命令,觀察并分析結果。
>> clear >〉 f=sym(”a+b+i+j+x+y+xz’)
>〉 findsym(f)
〉> findsym(f,1)>〉 findsym(f,2)>> findsym(f,3)
>〉 findsym(f,4)〉〉 findsym(f,5)>〉 findsym(f,6)答;f = a+b+i+j+x+y+xz ans = a, b, j,x,xz, y ans = x ans = x,xz ans =
x,xz,y ans = x,xz,y,j ans = x,xz,y,j,b ans = x,xz,y,j,b,a 2)符號表達式得化簡 符號表達式化簡主要包括表達式美化(pretty)、合并同類項(collcet)、多項式展開(expand)、因式分解(factor)、化簡(simple或 simplify)等函數。
①合并同類項(collect)。分別按 x 得同冪項與e指數同冪項合并表達式: . 〉〉 syms x t; >〉 f=(x^2+x^exp(—t)+1)*(x+exp(-t));〉〉 f1=collect(f)〉〉 f2=collect(f,’exp(-t)“)答;f1 = x^3+exp(-t)*x^2+(x^exp(-t)+1)*x+(x^exp(-t)+1)*exp(-t)
f2 =(x^2+x^exp(-t)+1)*exp(-t)+(x^2+x^exp(—t)+1)*x ②對顯示格式加以美化(pretty)。針對上例,用格式美化函數可以使顯示得格式更符合數學書寫習慣。
>〉 pretty(f1)>〉 pretty(f2)
答;f1 = x^3+exp(-t)*x^2+(x^exp(—t)+1)*x+(x^exp(—t)+1)*exp(-t)
f2 =(x^2+x^exp(-t)+1)*exp(-t)+(x^2+x^exp(—t)+1)*x >〉
pretty(f1)pretty(f2)
3
2
exp(-t)
exp(-t)
x
+ exp(—t)
x
+(x
+ 1)
x +(x
+ 1)exp(—t)
2
exp(—t)
exp(-t)
(x
+ x
+ 1)exp(-t)+(x
+ x
+ 1)x 注意與直接輸出得 f1 與 f2 對比。
③多項式展開(expand)。展開成 x 不同次冪得多項式、〉> syms x 〉> f=(x—1)^12;〉> expand(f)〉〉 pretty(expand(f))
答;ans = 1+x^12-12*x^11+66*x^10—220*x^9+495*x^8—792*x^7+924*x^6-792*x^5+495*x^4-220*x^3+66*x^2—12*x
7
6
5
+ x
- 12 x
+ 66 x
— 220 x
+ 495 x
x
+ 924 x
- 792 x
+ 495 x
- 220 x
+ 66 x
- 12 x ④ 因式分解(factor)。將表達式做因式分解。
>> syms x;f=x^12—1; 〉> pretty(factor(f))
答;ans = 1+x^12—12*x^11+66*x^10—220*x^9+495*x^8-792*x^7+924*x^6—792*x^5+495*x^4—220*x^3+66*x^2-12*x
12
11
8
6
5
+ x
— 12 x
+ 66 x
— 220 x
+ 495 x
x
+ 924 x
— 792 x
3
+ 495 x
— 220 x
+ 66 x
- 12 x 〉〉 syms x;f=x^12—1;pretty(factor(f))
2
2
(x-1)(1 + x
+ x)(1 + x)
(1 — x + x)(1 + x)(x
— x
+ 1)⑤化簡(simple或 simplify)。
將函數化簡.〉〉 clear 〉〉 syms x;f=(1/x^3+6/x^2+12/x+8)^(1/3); 〉> g1=simple(f)>〉 g2=simplify(f)
答;g1 =(2*x+1)/x g2 =((2*x+1)^3/x^3)^(1/3)6 6、符號表達式得變量替換
subs 函數可以對符號表達式中得符號變量進行替換 >> clear >> f=sym(’(x+y)^2+4*x+10’)〉〉 f1=subs(f,’x',’s')
%使用 s 替換x >〉 f2=subs(f,”x+y’,“z’)答;f =(x+y)^2+4*x+10 f1 =(s+y)^2+4*s+10 f2 = z^2+4*x+10 7、符號極限、符號積分與微分
1)
求極限函數得調用格式 limit(F,x,a)
%返回符號對象 F 當 x→a 時得極限 limit(F,a)
%返回符號對象 F 當獨立變量*→a 時得極限
limit(F)
%返回符號對象 F 當獨立變量→0(a=0)時得極限 limit(F,x,a,’right’)
%返回符號對象 F 當 x→a 時得右極限 limit(F,x,a,’left”)
%返回符號對象F當 x→a 時得左極限 例一:
〉〉 clear >> f=sym(“sin(x)/x+a*x”)
>〉 limit(f,“x’,0)
%以 x 為自變量求極限 >> limit(f,”a’,0)
%以 a 為自變量求極限 >> limit(f)
%在默認情況下以 x 為自變量求極限 >> findsym(f)
%得到變量并且按字母表順序排列 答‘f = sin(x)/x+a*x ans = 1 ans = sin(x)/x ans = 1 ans = a,x 例二: >> clear >〉 f=sym('sqrt(1+1/n));
〉〉 limit(f,n,inf)
%求 n 趨于無窮大時得極限
2)
求積分函數得調用格式 int(F)
%求符號對象 F 關于默認變量得不定積分 int(F,v)
%求符號對象 F 關于指定變量 v 得不定積分 int(F,a,b)
%求符號對象 F 關于默認變量得從 a 到 b 得定積分 int(F,v,a,b)
%求符號對象 F 關于指定變量得從 a 到b得定積分 3)
求微分方程得調用格式 diff(F)
%求符號對象 F 關于默認變量得微分 diff(F,v)
%求符號對象 F 關于指定變量 v 得微分 diff(F,n)
%求符號對象 F 關于默認變量得 n 階微分,n 為自然數 1、2、3…… diff(F,v,n)%求符號對象 F 關于指定變量 v 得 n 階微分 8 8、符號方程求解
1)常規方程求解函數得調用格式 g=solve(eq)
%求方程(或表達式或字串)eq 關于默認變量得解
g=solve(eq,var)
%求方程(或表達式或字串)eq 關于指定變量 var 得解 g=solve(eq1,eq2,…、,eqn,var1,var2,…,varn)
%求方程(或表達式或字串)eq1,eq2,eq3,……eqn 關于指定變量組var1,var2,……,varn)得解 求一元二次方程得解.其求解方法有多種形式:
① seq=solve(“a*x^2+b*x+c')
② seq=solve(’a*x^2+b*x+c=0”)③ eq=’a*x^2+b*x+c“;④ eq=”a*x^2+b*x+c=0’; seq=solve(eq)
⑤sym x a b c
eq=a*x^2+b*x+c seq=solve(eq)
2)常微分方程求解 求解常微分方程得函數就是 dsolve。應用此函數可以求得常微分方程(組)得通解,以及給定邊界條件(或初始條件)后得特解。
常微分方程求解函數得調用格式:
r=dsolve(“eq1,eq2,…’,’cond1,cond2,…’,’v’)r=dsolve(’eq1’,’eq2”,…,“cond1’,’cond2’,…,’v”)說明: ① 以上兩式均可給出方程 eq1,、qeq2 對應初始條件 cond1、cond2 之下得一 v 作為解變量得各微分方程得解。
② 常微分方程解得默認變量為 t。
③ 第二式中最多可接受得輸入式就是 12 個。
④ 微分方程得表達方法。
在用 MATLAB 求解常微分方程時,用大寫字母 Dy表示,用D2y表示,依此類推。
邊界條件以類似于 y(a)=b 給出。其中 y 為因變量,a、b 為常數、如果初始條件給得不夠,求出得解為含有 C1、C2 等待定常數得通解。
例一 求微分方程得通解、練習:(1)求。
(2)求函數得積分;求函數得導數(3)計算定積分(4)求下列線性方程組得解
(5)求解但 y(0)=2,在 z(0)=7 時,微分方程組得解。
實驗五
MATLA B 程序設計
一、實驗目得
掌握 MATLAB 程序設計得主要方法,熟練編寫 MATLAB函數、二、實驗內容
(1)M 文件得編輯。
(2)程序流程控制結構。
(3)子函數調用與參數傳遞。
(4)局部變量與全局變量。
三、實驗步驟1、M M 文件得編輯
選擇MATLAB 得菜單,打開新得M文件進行編輯,然后輸入以下內容,并保存文件名為 expl、m。
s=0;for n=1:100
s=s+n;end s 答;s =
5050 保存好文件后,在命令窗口輸入expl 即可運行該腳本文件,主義觀察變量空間。緊接著創建 M 函數文件,然后輸入以下內容,并保存文件名為 expl2、m。
function s=expl2(x)
s=0;for n=1:x
s=s+n; end
保存好文件后,在命令窗口輸入
>〉 clear 〉> s=expl2(100)以 open 命令可以打開 M 文件進行修改。
〉〉open conv
%打開 conv 函數 2 2、程序流程控制結構
1)
for 循環結構
>〉 for n=1:10 n end 答;n =n =n =n =n =n =
6 n =n =
n =n =
另一種形式得 for 循環: 〉> n=10:—1:5;>〉 for i=n
%循環得次數為向量 n 得列數 i end 答;i =
10 i =i =i =i =i =2)
while 循環結構 在命令窗口輸入:
clear x=1;while 1 x=x*2 end 將會瞧到 MATLAB 進入死循環因為 while 判斷得值恒為真,這時須按 Ctrl+C鍵來中斷運行,并且可瞧到 x 得值為無窮大。
練習:
(1)請把 exp2、m函數文件用 while 循環改寫。
(2)用公式求得近似值,直到最后一項得絕對值小于為止,試編寫M腳本文件、3)
if-else—end 分支結構
if—else—end 分支結構有如下 3 種形式。
(a)
if
表達式 語句組 1 end(b)
if
表達式 語句組 1 else 語句組2 end(c)
if
表達式 A
語句組 1 else if 表達式 B 語句組 2 else if 語句組 3 …… else
語句組 n end 4)
switch—case結構 創建 M 腳本文件 exp3、m,輸入以下內容并在命令窗口中運行。
%功能:判斷鍵盤輸入得數就是奇數還就是偶數 n=input(’n=');if isempty(n)
error(’please input n');
n=input(“n=’);end switch mod(n,2)
case 1
A=’奇數'
case 0
A=’偶數” End 答;n=input('n=’); if isempty(n)
error('please input n’);
n=input(“n=’); end switch mod(n,2)
case 1
A=”奇數“
case 0
A=”偶數' end n=1 A = 奇數 3、子函數與參數傳遞
有一個函數,試編寫實現該函數得函數文件.function g=expl4(x)
%主函數 g=0;for n=1:x
g=g+fact(n);
%調用子函數 end
function y=fact(k)
%子函數 y=1; for n=1:k
y=y*n; end 輸入參數可以有函數 nargin 計算,下面得例子 sinplot(),當知輸入一個參數 w 時,sinplot()函數會給p賦予默認值 0。4、局部變量與全局變量
自程序執行開始到退出 MATLAB,始終存放在工作空間,可被任何命...
第二篇:北航matlab上機實驗報告
MATLAB基礎上機指導書
實驗目的
MATLAB基礎上機實驗的目的主要是在深入理解和掌握課程中的基本概念和原理的基礎上培養學習者用計算機解決實際問題的意識,訓練和提高學生分析問題、仿真、程序設計和程序調試能力。實驗要求
1.整個學期的上機實踐共有4個。從實驗一的MATLAB的上機基本操作,到實驗四的GUI設計,都本著由淺入深、由易到難、逐步深入的原則,給出了不同的上機程序。一般每個實驗中有約5-7個不同難度的程序,按班級序號排列組合分組,每組學生包括5人,按組檢查程序。
2.每次實驗后要求學生提交上機報告,這也是整個實驗過程的一個重要環節。實驗結束后,要整理實驗結果并認真分析和總結,根據教師要求寫出實驗報告。實驗報告一般包括如下內容:
⑴ 實驗內容:實驗題目與要求。⑵ 程序清單
(3)運行結果:原始數據、相應的運行結果和必要的說明。
(4)分析與思考:調試過程及調試中遇到的問題及解決辦法;調試程序的心得與體會;其他函數算法的存在與實踐等。若最終未完成調試,要認真找出錯誤并分析原因等。常用命令參考
本節就一些常用的MATLAB命令進行介紹,使初學者盡快提高MATLAB上機調試程序的能力。
1、學會用help和doc函數。
2、輸入輸出文件:save/load
3、解線性方程組AX=B:X=AB
4、作圖時兩張曲線合并:hold on或者subplot作子圖
5、程序計算時間:tic,toc或者clock
6、變量顯示方式更改:format long/short/bank...7、數組元素求和:sum
8、求數組長度:length 求矩陣維數:size或者ndims 矩陣元素個數:numel
9、函數作圖:
餅圖:pie/pie3 誤差圖:errorbar 散點圖:scatter/scatter3 直方圖:hist 函數圖:fplot 動畫:movie
10、矩陣分析:
左右翻轉:fliplr 上下翻轉:flipud 轉置:transpose 矩陣求逆:inv 矩陣范數:norm 條件數:cond 初等變換:rref 特征值:eig/eigs
11、特殊矩陣:
元素全為1的矩陣:ones 元素全為0的矩陣:zeros 單位陣:eye 魔方陣:magic 線性變化數組:linspace 聚合矩陣:cat/horzcat/vertcat
12、隨機數:
創建一個元素服從均勻分布的隨機數數組:rand 創建一個元素服從正態分布的隨機數數組:randn 二項分布:binornd 指數分布:exprnd F分布:frnd 幾何分布:geornd 超幾何分布:hygernd 泊松分布:poissrnd
正態分布:normrnd 離散均勻分布:unidrnd 連續均勻分布:unifrnd
13、清屏:clc 清理內存:clear
14、字體顯示變更等:preferences
15、得到一個文件夾的所有文件名:ls
16、語句太長的話可以再句末加...換行。
實驗一 MATLAB快速入門操作
[實驗目的] 1. 熟悉MATLAB的工作環境。2. 熟悉MATLAB的幫助系統。3. 掌握基本的運算表達。4. 掌握基本的數學函數。5. 掌握基本的字符串使用。[實驗內容] 1.執行MATLAB的啟動和退出。觀看DEMO程序,INTRO程序,HELP文件,練習MATLAB常用命令在命令窗口中計算數學表達式,輸入簡單矩陣,查看工作空間中的變量,命令窗口顯示清除,語句、變量及數據的表示,搜索路徑設置。
2.使用函數創建字符串數組,掌握char、strvcat、strcat之間的區別。>> c1=char('china','india');>> c3=strvcat('china','india');>> c4=strcat('china','india');char中各部分互相獨立,strvact豎直連接 strcat直接連接 >> c1=char('china','india')
c1 =
china india
>> c3=strvcat('china','india')
c3 =
china india
>> c4=strcat('china','india')
c4 =
chinaindia 也就是說strcat連接兩個字符串,而strvcat垂直連接兩個字符串.? i6c?2e3.設三個復數a=3+4i,b=1+2i,計算x=ab/c,注意復數的表達方式。
>> a=3+4i,b=1+2i,c=2*exp(pi/6*i)a =
3.0000 + 4.0000i
b =
1.0000 + 2.0000i
c =
1.7321 + 1.0000i
>> X=a*b/c X =
0.3349 + 5.5801i
sin?x??354.計算下式的結果,其中x=45°,572
注意函數參數的使用類型,掌握復雜表達式的計算。>> a=45/180*pi a =
0.7854
>> b=(sin(a)+35^(1/2))/72^(1/5)b =
2.8158
5.計算星球之間的萬有引力。包括地球和太陽,地球和月亮之間的距離。具體參數太陽質量1.989×10^30千克,地球質量5.976×10^27千克,太陽和地球的距離***0米,月亮質量7.351×10^ 22千克,月亮和地球兩者間距384400000米,萬有引力系數K 6.67×10^-11,見P26 例2-3。
>> M1=1.989e30,M2=5.976e27,M3=7.351e22,d1=1.4960e11,d2=3.844e8 K=6.67e-11
M1 =
1.9890e+030
M2 =
5.9760e+027
M3 =
7.3510e+022
d1 =
1.4960e+011
d2 =
384400000
K =
6.6700e-011
>> F12=M1*M2*K/d1^2
F12 =
3.5426e+025
>> F23=M2*M3*K/d2^2
F23 =
1.9830e+023
?333??,以及數據的修改方法,盡量考2336.用兩種方法創建一個二維數組?????433??慮計算效率。在掌握二維數組基礎上掌握三維數組的創建方法。
創建:方法1;x=[3,3,3;2,3,3;4,3,3] x =
3 3 2 3 3 4 3 3 方法2 在workspace中點擊 new variable 就會在下面出現一個新變量unnamed 雙擊unnamed變量引出一個空白頁面,在里面進行編輯 >> unnamed
unnamed =
3 3 2 3 3 4 3 3 修改
直接在workspace中點擊需要修改的變量,在相應位置修改變量,保存后在命令窗口重新調用函數 計算
[問題討論] 1.小結上機各個環節所出現的錯誤及解決的辦法。
[思考問題] 1.仿真是否“真實”,與什么因素有關? 仿真是在數字計算機上進行試驗的數字化技術,包括數字和邏輯模型的某些模式,這些模型描述了某一事件或經濟系統在若干周期內的特征。仿真常常包括模型建立,仿真模型的建立和仿真試驗三個方面。從以上可以看出,仿真其實是建立在模型之上,通過計算機或者其他載體,并借助經驗知識、統計數據和信息資料等對真實或假想的系統進行試驗,得出試驗結果的過程。
在這點上看,仿真并不真實,因為它并不能100%模擬出真實情況,而實際上“真實”的復雜多變也難以模擬。但是,仿真可以通過以上的手段在一定范圍內對真實進行模擬和預測。其與真實結果的相關性,或者說仿真方法的優劣性與其系統、模型和載體是密切相關的。
第三篇:第六次上機實驗 實驗報告
計算機基礎上機實驗
(六)姓名:
上機須知:
a)必須帶《實驗教程》,沒有帶的回去取;上機時間:2小時 b)提交內容:
1)按照實驗1的步驟制作自己生日所在月份的日歷。
2)按照實驗2的步驟創建Excel抽獎器(或其他模板)。
3)按照實驗3的步驟制作成績單。
注:以上三部分包括Excel源文件和最終效果的截圖。
c)A、B班要求不完全相同,不要做錯
d)作業提交格式:提交多個文件時打包為rar壓縮包,壓縮包按班級-學號-姓名-實驗號(阿拉伯數字)-A(B).rar命名,A、B代表A班或者B班,截圖按1.jpg、2.jpg…依次命名
學號:班級:日期:
1.創建Excel基本表格
說明:
a)
b)
c)
d)參考實驗5.1,創建自己生日所在月份的日歷。嘗試自動填充功能(星期的自動填充,數字的自動填充)給日歷加樣式(字體大小,對齊,顏色,邊框)創建藝術字,達到與圖5.3類似的效果(注意用自己生日所在年月)
2.使用Excel模板
說明:
a)新建模板-選擇抽獎器模板(可以用其他自己感興趣的模板)。
b)根據實驗5.2來使用抽獎器模板或自己嘗試使用其他模板。
c)獲得獲獎結果(或其他模板的最終效果)
3.用Excel制作成績單
說明:
a)
b)
c)
d)
e)
參考實驗5.3創建Excel成績單 輸入數據(提示:自動填充)輸入公式統計平均成績 設置條件格式(紅色加粗顯示不及格成績)分類匯總(按照班級分類匯總)(B班可不做)
第四篇:第九次上機實驗 實驗報告
計算機基礎上機實驗
(九)姓名:
上機須知:
a)必須帶《實驗教程》,沒有帶的回去取;上機時間:2小時 b)提交內容:
a)按照實驗4的步驟將多媒體嵌入到PPT中(聲音,錄制旁白,背景音樂,視頻,flash)b)按照實驗5的步驟設置PPT的放映屬性(放映方式,自定義放映,設置動作,排練計時,隱藏幻燈片(),放映中的控制)。
注1:以上兩部分包括PPT源文件和主要效果的截圖。
c)A、B班要求不完全相同,不要做錯
d)作業提交格式:提交多個文件時打包為rar壓縮包,壓縮包按班級-學號-姓名-實驗號(阿拉伯數字)-A(B).rar命名,A、B代表A班或者B班,截圖按1.jpg、2.jpg…依次命名
學號:班級:日期:
1.制作一個具有多媒體效果的PPT
說明:以下操作參考實驗5.4
a)在第一張幻燈片中插入聲音(剪輯管理器或者文件中)。
b)在第二張幻燈片中插入視頻
c)第第三張幻燈片中插入Flash動畫
d)給PPT設置背景音樂。
e)在幻燈片中錄制旁白。
2.設置PPT的放映屬性
說明:
a)
b)
c)
d)
e)
f)
g)設置放映方式(演講者放映,觀眾自行瀏覽,在展臺瀏覽)。設置自定義放映 設置動作(鼠標動作,超鏈接等)設置排練計時(B班可以不做)隱藏幻燈片 正常和快速放映方式的設置 放映的控制(定位法,序號法,連接法),會議記錄, 備注,控制指針,結束放映
第五篇:第十次上機實驗 實驗報告
計算機基礎上機實驗
(十)姓名:
上機須知:
a)必須帶《實驗教程》,沒有帶的回去取;上機時間:2小時 b)提交內容:提交兩張圖片(命名“1.jpg”和“2.jpg”)
c)A、B班要求不完全相同,不要做錯
d)作業提交格式:提交多個文件時打包為rar壓縮包,壓縮包按班級-學號-姓名-實驗號(阿拉伯數字)-A(B).rar命名,A、B代表A班或者B班,截廁所被人占了圖按
1.jpg、2.jpg…依次命名學號:班級:日期:
1.使用繪圖工具進行繪圖
說明:
a)參考實驗8.2,打開“繪圖”,熟悉繪圖的基本操作;
b)完成繪圖作業
要求:
◆根據個人理解繪制一張黑白的 “熊貓頭像”
◆使用繪圖,在圖像中空白處,插入自己個性的“學號_班級_姓名”;
廁所被人占了◆將圖片命名為“1.jpg”;
◆必須自己畫,抄襲的、被抄襲的 一律0分。
2.使用Photoshop進行圖像處理
說明:
a)參考實驗8.3,熟悉Photoshop的基本操作;
b)完成圖像處理作業
要求:
◆隨意找一張彩色圖片(這個網上下載怎么的都行)◆使用photoshop,在圖像中空白處,插入自己個性的“學號_班級_姓名”;
◆將圖片弄成“卡爾波點裝飾照片效果”;(A班做,B班可不要求)
◆將圖片命名為“2.jpg”;
◆必須自己畫,抄襲的、被抄襲的 一律0分。