序號學號: 11461101
實習報告
實習課程名稱matlab應用軟體實習
實習題目matlab綜合應用
學生姓名
學院(系): 數理學院專業班級
校內指導教師: 張燕新專業技術職務: 講師
實習時間: 2013 年 12 月 30 日 2014 年 1 月 10 日
目錄摘要3
背景3詳細求解3
實習感想19
參考文獻19
摘要matlab和mathematica、maple並稱為三大數學軟體。它在數學類科技應用軟體中在數值計算方面首屈一指,它將數值分析、矩陣計算、科學資料視覺化以及非線性動態系統的建模和**等諸多強大功能整合在乙個易於使用的視窗環境中,為科學研究、工程設計以及必須進行有效數值計算的眾多科學領域提供了一種全面的解決方案,並在很大程度上擺脫了傳統非互動式程式語言的編輯模式,代表了當今國際科學計算軟體的先進水平。
背景matlab是一種面向科學與工程的高階語言,由於其整合了許多領域的工具箱,因此又被稱為「巨人肩上的工具」。
matlab語言是當今國際上科學界(尤其是自動控制領域)最具影響力、也是最有活力的軟體。它起源於矩陣運算,並已經發展成一種高度整合的計算機語言。它提供了強大的科**算、靈活的程式設計流程、高質量的圖形視覺化與介面設計、便捷的與其他程式和語言介面的功能。
matlab語言在各國高校與研究單位起著重大的作用。matlab由一系列工具組成。這些工具方便使用者使用matlab的函式和檔案,其中許多任務具採用的是圖形使用者介面。
包括matlab桌面和命令視窗、歷史命令視窗、編輯器和偵錯程式、路徑搜尋和用於使用者瀏覽幫助、工作空間、檔案的瀏覽器。隨著matlab的商業化以及軟體本身的不斷公升級,matlab的使用者介面也越來越精緻,更加接近windows的標準介面,人機互動性更強,操作更簡單。而且新版本的matlab提供了完整的聯機查詢、幫助系統,極大的方便了使用者的使用。
簡單的程式設計環境提供了比較完備的除錯系統,程式不必經過編譯就可以直接執行,而且能夠及時地報告出現的錯誤及進行出錯原因分析。
matlab是乙個高階的矩陣/陣列語言,它包含控制語句、函式、資料結構、輸入和輸出和物件導向程式設計特點。使用者可以在命令視窗中將輸入語句與執行命令同步,也可以先編寫好乙個較大的複雜的應用程式(m檔案)後再一起執行。新版本的matlab語言是基於最為流行的c++語言基礎上的,因此語法特徵與c++語言極為相似,而且更加簡單,更加符合科技人員對數學表示式的書寫格式。
使之更利於非計算機專業的科技人員使用。而且這種語言可移植性好、可拓展性極強,這也是matlab能夠深入到科學研究及工程計算各個領域的重要原因。
詳細求解
3. 已知t=an2+bn,測得對應資料如下:(多項式插值interp1)
t=[0,20,40,60,80,100,120,140,160,183.5];
n=[0,1153,2045,2800,3466,4068,4621,5135,5619,6152];
試求a和b的值。
t=[0,20,40,60,80,100,120,140,160,183.5];
n=[0,1153,2045,2800,3466,4068,4621,5135,5619,6152];
t0=[0,20,40,60,80,100,120,140,160,183.5];
n0=[0,1153,2045,2800,3466,4068,4621,5135,5619,6152];
n=0:0.001:6152;
t=interp1(n0,t0,n,'spline'); % interp1函式進行多項式插直
p=polyfit(n,t,2polyfit函式進行多項擬合
p = 0.0000 0.0144 0.0631
4.請用梯形法、辛普森法分別計算積分值(trapz、quad)
f=inline('sqrt(x.^2+x+1)','x'); % inline定以內建函式
>> quad(f,0,1辛普森法
ans =
1.3369
>> x=0:0.01:1;y=sqrt(x.^2+x+1);
trapz(x,ytrapz為梯形法
ans =
1.3369
5計算二重積分(使用函式dblquad)
dblquad('x.^2+y.^2+x*y+2*x+y+1', 0, 1, 0, 2) %函式求解二重積分
ans =
10.3333
8 用兩種方法求解ax=b的解。(a為四階隨機矩陣,b為四階向量,自己建立)。
方法1.a=rand(4)
a = 0.8147 0.6324 0.9575 0.9572
0.9058 0.0975 0.9649 0.4854
0.1270 0.2785 0.1576 0.8003
0.9134 0.5469 0.9706 0.1419
>> b=[1;2;3;4];x=inv(a)*b %求矩陣的逆
x = 73.6009
6.6966
-69.4126
3.4100
方法2. a(:,5)=b;rref(a) %將a化為階梯狀
ans =
1.0000 0 0 0 73.6009
0 1.0000 0 0 6.6966
0 0 1.0000 0 -69.4126
0 0 0 1.0000 3.4100
9.,用兩種方法求函式的根,並求其極值與零點。
求根.solve('x^3+(x-4/5)^2/(x+5/4)^3-5*x-5/x');
x=double(ans);
>> for i=1:length(x)
xx(i)=isreal(x(i));
end>> x=x(xx)
x =2.4156
零點 fzero('x.^3+(x-0.8).^2/(x+1.25).^3-5*(x+1/x)',3)
ans =
2.4156
極值:>> syms x y
>> y=x.^3+(x-0.8).^2/(x+1.25).^3-5*(x+1/x);
>> dydx=diff(y);
>> solve(dydx);x=double(ans);
>> for i=1:length(x)
xx(i)=isreal(x(i));
end>> t=x(xx)
t =0.4694
2.4039
>> x=t(1);y1=subs(y)
y1 =
16.2832
>> x=t(2);y2=subs(y)
y2 =
6.4732
>> z=diff(diff(y));
>> x=t(1);z1=subs(z)
z1 =
205.8164
>> x=t(2);z2=subs(z)
z2 =
53.5382
函式f(x)有乙個極大值點x1=-2.4039, 極大值為-6.4732;乙個極小值點x2=-2.4039, 極小值為16.2832
10.f(x)的定義如下:,寫乙個matlab函式func1實現該函式。
function s1*******_10(x)
if x<0&&x==-4
y=x^2+x-6;
elseif x>=0&x<10&x~=2&x~=3
y=x^2-5*x+6;
else
y=x.^2-x-1;
endfprintf('%d\n',y);
13.寫乙個 matlab 函式 pifun.m 來計算下列級數:
f(n) = 4*(1 - 1/3 + 1/5 - 1/7 + 1/9 - 1/11 + ...)
其中 n 為函式的輸入,級數和 f(n) 則是函式的輸出。此外,你必須進行下列事項:
(1) 使用 tic 和 toc 指令來測量 pifun(100000) 的計算時間。如果你不知道如何使用這兩個指令,請使用 help tic 及 help toc 來查出它們的用法。我的計算機是 pentium-450,所得的計算時間約為 2 秒。
請說明你的計算機規格以及其計算時間。
function f=11461101_13(n)
常州大學電子實習報告
電子實習報告 課題 四人搶答器 專業 電腦科學與技術 班級 信科121 學號12477218 姓名 孫劍峰 日期 2013.06.17 06.21 一 前言 電子設計是電子技術學習中非常重要的乙個環節。只有真正做到將理論運用到實踐中,學以致用,才能體會到電子世界的魅力。在現實生活的各種智力電視節目中...
MATLAB實習報告
課程名稱 測繪程式設計課程性質 必修 測繪程式設計 實習報告 學院班級 實習地點 班級組號 學生姓名 學生學號 指導教師 日期年月日 實驗專案 矩陣乘法運算 實驗目的 了解matlab軟體的基本功能,熟悉軟體的基本操作達到可以熟練使用matlab軟體的目的。實驗儀器裝置 計算機及matlab軟體。實...
MATLAB上機實習報告
matlab上機實習實習報告 十八周我們進行了本學期的第二次實習 matlab上機實習。本次實習一星期,共實習了五個部分。分別是 一,matlab基本操作 二,數值陣列及其運算 三,matlab圖形繪製基礎 四 simulink 基礎 五 控制代碼圖形和圖形使用者介面製作。下面分別介紹各部分內容 實...