matlab裡面取樣程式 for i 1 l2 y2 i, y round i B , 重新取樣 end 啥問題

2025-07-04 03:29:55 字數 5335 閱讀 3316

1樓:網友

那麼,該計劃將在明天給你。恢復任何訊號取樣是有條件的,必須是由於取樣頻率是大於兩倍的訊號的截止頻率。

檔案1 檔名。

清晰; clc;

f0 = 10000;%用來模擬模擬訊號,數碼訊號的取樣頻率fs < 500%的數碼訊號取樣點。

模擬訊號發生器。

s = signal_generate(f,f0,n);

插曲(4,1,1);情節(s);軸(最大[1 n分鐘(次)(次)])

的取樣點,計算的時間間隔,deltan = f0/fs

ns = n / deltan的。

抽樣。對於i = 1:ns

sd(i)=(i-1)* deltan +1)結束的插曲(4,1,2);幹(sd,'。軸([1 ns最小最大()(

恢復的方波訊號,sp =

對於i = 1:ns

sp = sp sd(i)的(1 deltan)];結束。

插曲(4,1,3);情節(sp);軸([1 n分鐘(s)最大()]

的低通濾波器恢復原始訊號。

wm = fs/f0

水平5/wm

b = low_filter(wm,水平);

延遲=級/ 2;

sp sp = 0(1,延遲)];

所以過濾器(b,1,sp);

延遲1:延遲+ n)/ deltan;

插曲(4,1,4);情攜數蘆節(左右);軸([1 n分鐘(s)最大()]

檔案結束。檔案2

檔名稱signal_generate。公尺。

函式s =(f,n,f0)signal_generate

f0 = 10000;

num =長度(f);

零(1,n);

對於i = 1:數。

s +罪(f(i)* 2 * pi *(1:n)/ f0);

結束 br />2檔案結束。

檔案3 檔案low_名。

功能b = low_filter(wm水平);

nm的= ceil(wm / 2 *級);後。

h =零(1級);

h(1公尺)的(1公尺);

h(nm +1)= ; br />h(水平奈米+1)= ;

h(水平奈米+2級)=一(1 nm-1);

電平1)/水平pi *(0:1級);%相,畢蘆。

汞柱= h. *exp(j *θ

b =實(ifft(hg));

b = b /(sum(b. ^2));

檔案結束。新建三個檔案在同一目錄下,拷貝,執行為主。公尺,每個程序都有乙個相應的圖形顯示。

matlab 怎麼對訊號進行取樣

2樓:網友

1、開啟matlab,新建指令碼。

2、在器裡輸入**。

3、tp是觀察時間,我們設定為64微妙,即64/1000;接著輸入的**是產生m長取樣序列x(n)。

4、把實驗內容中給定的值設定好;再把給定的模擬訊號式子輸入進去。

5、subplot(3,2,1)的意思是:三行兩列,在第乙個位置作圖。

6、**輸入完畢後,點選執行。

7、得到結果,對訊號進行取樣。

3樓:雲傾城

任意訊號的取樣後恢復是有條件的,必須是取樣頻率大於兩倍的訊號截至頻率才行。

檔名。clear;

clc;f0=10000; %用來模擬 模擬訊號的 數碼訊號的取樣頻率 fs<

檔名 signal_

function s=signal_generate(f,f0,n)

f0=10000;

num=length(f);

s=zeros(1,n);

for i=1:num

s=s+sin(f(i)*2*pi*(1:n)/f0);

end//檔名 low_

function b=low_filter(wm,level);

nm=ceil(wm/2*level);

h=zeros(1,level);

h(1:nm)=ones(1,nm);

h(nm+1)=;

h(level-nm+1)=;

h(level-nm+2:level)=-ones(1,nm-1);

theta=-(level-1)/level*pi*(0:level-1); phase

hg=h.*exp(j*theta);

b=real(ifft(hg));

b=b/(sum(b.^2));

新建這三個檔案後,拷貝在統乙個目錄裡,執行就可以了, 每乙個過程都有相應的圖形顯示。

求大神幫忙解釋下這個matlab程式的作用(從for i=1:k到最後)

4樓:網友

for i=1:k

x1=zeros(1,n);

x1(1:l)=x((i-1)*l+1:i*l);%輸入訊號分段並補0至n

y1=real(ifft(fft(x1).*fft(h1)))對2個快速傅利葉變換的乘積 做反傅利葉變換後取實部。

if i==1

y(1:n)=y(1:n)+y1; %y的第1個n長片段上累加y1else

y((i-1)*l+1:(i-1)*l+n)= y((i-1)*l+1:(i-1)*l+n)+y1; %y的第i個n長片段上累加y1

endend

subplot(2,1,2) %上下2圖,畫下面的圖。

stem(y(1:lx+m-1)) 火柴棍圖。

matlab中a=zeros(2*n,9); for i=1:2:2*n-1 j=(i+1)/2; 是什麼意思?急用!謝謝

5樓:網友

解釋:a=zeros(2*n,9);是指把2*n行9列的0矩陣賦給a。也就是a為2*n行9列的0矩陣。

for i=1:2:2*n-1 j=(i+1)/2;是for迴圈,i為1,3,5,7……,2*n-1時(也就是i為奇數),迴圈內求j的值。迴圈直到i=2*n-1。

6樓:

a是乙個2*n行,9列的零矩陣。迴圈是指從1開始一直到2*n,每兩個,就是1,3,5,7,9……求j的值,j的值依次為1,2,3,4,5

matlab中 z=x(i*n+1:(i+1)*n,j*n+1:(j+1)*n);和 y=[y,c]; 什麼意思

7樓:網友

就是把你的x矩陣中,依次提取n*n的矩陣,然後把每次提取的矩陣變成乙個一維矩陣,最後把所有提取的一維矩陣儲存在乙個矩陣y裡面。

x(i+1)=x(i)+x(i-1) 用matlab程式設計

8樓:真

要求matlab2008b以前版本(有maple核心)clear;clc;

f=maple('rsolve(,x)');

f=subs(f,'t',solve(subs(f,'n',10)-89))%你要求的通項公式。

subs(f,'n',1:10)

9樓:網友

**:clc,clear

syms a;

x(2)=a;

x(1)=1;

for i=1:8

x(i+2)=x(i+1)+x(i);

endb=solve(x(10)-89);

for i=1:10

x(i)=subs(x(i),a,b);

endx結果:x =

這個行向量裡面的數分別就是要求的x1,x2...x10了。

小白matlab求問:在賦值 a(i)=b 中,b 和 i 中的元素數目必須相同。

10樓:網友

迴圈語句中的。

z(i)是z的第i個元素,matlab預設z(i)為乙個數字,長度為1。後面賦值是乙個行向量,得到的結果長度和x、y相同(長度201)

這造成等號左右的元素數目不同。

考慮z是乙個矩陣,矩陣第一行儲存i=1的結果。

你把賦值語句改成。

for i=1:2

z(i,:)=c.*(d-x.^2...

end即可。

matlab中for語句中,怎樣把每乙個i得到的結果都儲存在乙個excel文件裡?

11樓:網友

建乙個二維陣列,把i值按順序賦值組陣列,for語句執行完後,將陣列寫入想賦值的單元格區域即可。

例:dim arry1(1 to 100)for t= 1 to a

i=f(t)

arry1(t)=i

next t

a2').resize(100,1)=arry1以上例子為將不每個i值寫入當前工作表的a2:a101區域。

12樓:夜之陰影

你這個函式寫的有問題:

1,你的r 是乙個值,他在for迴圈裡面被賦值了n次,但是他只在for迴圈外面被寫過一次。

所以只有最後一次有寫到目標檔案。

2,如果你要改正,請將xlswrite寫到for迴圈裡面。

3,求人不如求己,自己在。m檔案中設定乙個斷點,然後單步除錯一下,你就能發現這個問題。

4,沒有除錯不明白的程式~!祝你好運。

13樓:爆呆鳥

應該把r定義成矩陣。

clearclca=xlsread('mu=');

b=a(1:106,1);

c=a(1:106,2:51);

for i=1:50

x=b;y=c(:,i);

r(i)=corrcoef(x,y);%改了這endxlswrite('',r)

14樓:網友

%%無資料,未測試。

clearclca=xlsread('mu=');

b=a(1:106,1);

c=a(1:106,2:51);

r=;for i=1:50

x=b;y=c(:,i);

r=[r;corrcoef(x,y)];改了這endxlswrite('',r)

for i=1:m ui=kron(u(i-1),u(i-2)); end; 這是我的程式,其中i是下腳標,請問如何讓matlab執行這個程式。

15樓:網友

一開始執行就餘櫻不對了豎散叢因為matlab陣列從1開始的。

u= for i=1:m u=kron(u,i); end;

kron作用是把矩陣變大,你應該是想得到乙個挺大的矩陣,不要中間結果可以這樣寫掘啟。

matlab中如何程式設計序進去,matlab中的指令碼程式怎麼編寫?

matlab 程式的檔案 是以.m檔案的形式呈現的。將matlab 編寫進.m檔案內然後版 執行即可。例子 權 建立一個 helloworld.m 檔案內包括內容如下 fprintf hello world 使用快捷鍵f5直接執行,然後可以在控制檯下看到列印的 hello world 按你問的問題,...

簡單的MATLAB程式,我不會matlab

雖然我不懂你的程式,但是你裡邊有幾個問題。首先,我複製貼上到matlab之後字母 都是現實紅色的 紅色是有問題咯 我隨便用個字母q代替了下。還有就是輸出影象plot ia,n1,n2,n3,k 這一行中n2,n3,這兩個,都是在中文輸入法下打出來的。當然也不行,這些符號僅能在英文狀態下輸入。然後執行...

matlab程式中是什麼意思,matlab裡和有什麼區別

乘冪的意思,如x2可寫成x.2 是對物件每個元素都進行乘冪運算的意思。比如a是一個矩陣,a 2 a a,而a.2 b,b為a中所有元素都平方後的矩陣,即對a中的某個aij,b中對應位置的是aij 2,明白了吧?matlab裡.和 有什麼區別 這是點乘 是乘法。直接用乘法的話,是矩陣乘法,也就是說,必...