首頁 > 健康生活 > 職場 > 如何在Matlab中運用餘弦函數

如何在Matlab中運用餘弦函數

來源:時髦谷    閱讀: 1.06W 次
字號:

用手機掃描二維碼 在手機上繼續觀看

手機查看

如何在Matlab中運用餘弦函數,Matlab是一款常用的數據處理科學軟件,它在日常工作中,教學科研,圖像處理,金融數據分析等等領域均有廣泛的應用,那麼如何在Matlab中運用餘弦函數?

如何在Matlab中運用餘弦函數1

首先我們需要打開Matlab軟件(可通過桌面快捷方式或者開始菜單軟件啓動按鈕,或者軟件安裝文件夾的軟件啓動按鈕打開Matlab軟件)

如何在Matlab中運用餘弦函數

Matlab軟件打開後的界面如下圖所示,軟件界面包括導航欄,命令欄,變量顯示欄等,軟件上部的菜單中包含豐富的命令,我們將在接下來的步驟中用到其中的`部分命令。

如何在Matlab中運用餘弦函數 第2張

在Matlab軟件的導航欄右擊鼠標,選擇“new file”,“script”,從而新建的一個新的Matlab腳本文件,具體操作如圖所示。

如何在Matlab中運用餘弦函數 第3張

通過雙擊新建的Matlab腳本文件,從而打開“script”,進而可以編輯Matlab腳本文件進而將相關代碼寫入腳本文件。

如何在Matlab中運用餘弦函數 第4張

打開腳本文件後,我們可以往腳本文件中寫入如下命令:

x=1:0.01:10;

y=cos(x);

如圖所示,我們可以通過點擊Matlab軟件的菜單欄上的“run”按鈕從而實現運行剛纔所寫入腳本文件的代碼。

如何在Matlab中運用餘弦函數 第5張

我們也可以在command窗口展示運行結果,注意,用以顯示結果的那行代碼尾部不能有分號。

如何在Matlab中運用餘弦函數 第6張

如何在Matlab中運用餘弦函數2

如何用matlab產生正弦表數據

這裏說明兩種方式:

(一)這個方法只在matlab中生成數據表,需要自己手動的

往mif文件中添加數據

1.假設用到的DA芯片爲14爲,則2^14=16384

2.一個完整的正弦波爲0-2pi

3.正弦波ROM的深度爲4096(地址總數)

4.由於FPGA中不識別負數,加入一個直流分量,加8192

則用matlab產生正弦表的'函數爲:

Y=ceil((16384/2-1)*sin(0:pi*2/4096:2*pi)+8192)

其中ceil函數描述如下:

ceil(x) : 大於x 的最小整數

>> ceil( [3.12 -3.12])ans =4 -3

如何在Matlab中運用餘弦函數 第7張

(二)可以直接生成mif文件

直接生成mif文件

depth = 4096;width =14;x=ceil(16384/2*sin(0:pi*2/4096:2*pi)+8192)

fid = fopen('d:','w');

fprintf(fid,'depth= %d ;

',depth);

fprintf(fid,'width= %d ;

',width);

fprintf(fid,'address_radix=uns;

');

fprintf(fid,'data_radix = uns;

');

fprintf(fid,'Content Begin

');

for(k=1:depth)

fprintf(fid,'%d: %d ;

',k-1,x(k));endfprintf(fid,'end;');

用上面這段程序最大值會出現16384,在Quartus II中會認爲是超出數據

範圍,所以需要手動的改寫爲16383.------

----把x=ceil(16384/2*sin(0:pi*2/4096:2*pi)+8192) 改寫爲下面語句

x=ceil((16384/2-1)*sin(0:pi*2/4096:2*pi)+8192) 就不存在上述問題

數據量小的話,可以用第一種方法,要是數據量大的話,介意用第二種方法。

如何在Matlab中運用餘弦函數3

方法/步驟

打開matlab在app中找到curve fitting擬合工具箱,打開它

如何在Matlab中運用餘弦函數 第8張

在命令窗口輸入你的原始數據,例如x=1:1:100;y=x;

我們需要通過擬合工具箱來擬合出y=x這個方程得兩個參數a,b

在擬合工具箱的頁面左邊欄把原始數據放進去,查看擬合結果,在如圖所示箭頭區域,可以選擇擬合的'函數,最基本的一階函數,正弦函數

如何在Matlab中運用餘弦函數 第9張

運用擬合函數擬合最基本的是polyfit,

程序如此:

x=1:1:100;

y=x;

m=polyfit(x,y,1);

如何在Matlab中運用餘弦函數 第10張

結果輸出兩個值,用polyfit函數時用法爲

[a,b]=polyfit(x,y,n)其中a,b是直線方程y=a*x+b中的a,b兩個參數

x,y是原始數據,n爲擬合的階數,

在matlab擬合函數中還有lsqcurvefit等,需要在matlab官網上尋找並看他的用法,我推薦是有matlab的固有擬合工具箱,在擬合一些比較複雜的函數時,用擬合函數時,參數必須有初始向量,只有禁言豐富的人才可以確定,所以一般建議使用擬合工具箱,簡單函數可以使用擬合函數

健康養生
生活保健
常見疾病
女性健康
單身
戀愛
婚姻
話題