久久久国产一区二区_国产精品av电影_日韩精品中文字幕一区二区三区_精品一区二区三区免费毛片爱

 找回密碼
 注冊會員

QQ登錄

只需一步,快速開始

搜索
查看: 4293|回復(fù): 4

[matlab] 這段程序出錯,不清楚怎么改

[復(fù)制鏈接]
1#
發(fā)表于 2008-8-25 11:14:56 | 只看該作者 |倒序瀏覽 |閱讀模式
下面是我編的M文件的程序,主要是求一維數(shù)組s的最大值和索引位置,然后加不同寬度的窗,求出窗里信號能量后與總能量求比值。我編的程序中s是小波包分析的高頻信號,為了簡化程序段,我用5000個隨機數(shù)來代替。編譯的時候for循環(huán)好像根本就沒有執(zhí)行,不知道是為什么。請前輩們幫忙看看,不勝感激!
* P. d4 L5 t* m) Ws=zeros(1,5000);: Z6 v3 v0 \8 L0 J( d1 |
s=rand(1,5000);; X+ Q$ E' r) t9 m9 L" `
n=length(s);
( z( @8 M. V( H. @+ Nmax=0.0;3 Z" j& O2 {, D% _) k  `
index=0;
" E# S# W# S+ O' Dfor i=1:n7 Q0 ^0 X3 e  t; V
if  max<s(i)
) S) u4 P: m, D+ d/ d* \     max=s(i);  l" g: N/ _0 n, y9 ~2 x3 J
     index=i; , e6 D; k# H& {1 p3 a
  else' u& ^9 U- X: \1 j; d
  end
# x+ l0 V+ U, V* P' p* t/ {end   
, N2 H- D3 w! G! K, L" osmall=100;
& O  F/ i2 K8 X) d, u4 l/ I% Lwenergys=sum(s(index-small:index+small).^2);
, y0 ~& J% n, z8 T+ T1 t2 bmiddle=150;
; b& O2 b8 \- c0 rwenergym=sum(s(index-middle:index+middle).^2);9 h3 |, j6 h( [
large=200;
0 Q, O6 B. F5 N$ lwenergyl=sum(s(index-large:index+large).^2);; V+ l3 I* |% w# q( g
energy=sum(s.^2);+ b4 X/ o' \! V! I* `' ?
ratios=wenergys/energy;8 l! j5 }. H: S4 v) I
ratiom=wenergym/energy;
, w6 D. h; H: V8 l3 fratiol=wenergyl/energy;
' v* ~* g6 W* j5 N- Vm=max*100000;4 d0 {7 J1 h2 B, l/ X! O0 \
ws=wenergys*100000;; ~3 Y4 E6 E) b0 U4 i) Y3 M
wm=wenergym*100000;
6 D: Q" z$ q% Y6 O0 w( Ewl=wenergyl*100000;! W. S' O$ x' r: s( N9 l
e=energy*100000;
& R( ?2 ?$ y! _) ^/ ?a=[m,index,e,ws,wm,wl,ratios,ratiom,ratiol];
回復(fù)

使用道具 舉報

2#
發(fā)表于 2008-8-26 13:20:56 | 只看該作者
求一維數(shù)組s的最大值和索引位置 max 和index可以求出來呀
6 o& L/ T) H: W也就是執(zhí)行了for循環(huán)了$ Z& {! F% V, X+ W( ^
可能計算機計算速度快  我們感覺不到等待的時間    " H; k4 s; U2 i( N- _1 e
如果是5000個數(shù)字迭代的話肯能時間很長

評分

參與人數(shù) 1威望 +10 收起 理由
老鷹 + 10

查看全部評分

3#
 樓主| 發(fā)表于 2008-8-28 16:09:39 | 只看該作者

回復(fù) 2# 小土匪 的帖子

其實我的這個程序是插在labview里的腳本。我一開始用的就是[max,index]=max(s);但是我是把程序作為腳本插入在labview程序里,labview提示出錯:subscript indices must either be real positive integers or logicals. 然后就不給我執(zhí)行了,改成for循環(huán)也一樣。5000個數(shù)字迭代時間并不長,我在MATLAB里面試過,瞬間出結(jié)果,但是在labview里編譯就是通不過。我現(xiàn)在懷疑是不是labview和MATLAB的兼容做的不夠好。
4#
發(fā)表于 2008-8-29 17:20:28 | 只看該作者
labview還沒接觸過
  D7 J$ e! }6 Z' F( a# D. [4 Q是不是取隨機數(shù)的時候  最大值的標(biāo)號正好小于200了  這樣的話wenergyl=sum(s(index-large:index+large).^2)這步是不是會出錯?, a; W' P" {% H' k( q* _9 _  B

. `2 W& K3 s$ i0 P提示也正好是indices must either be real positive integers or logicals# P; g7 P0 j7 o# n
你再修改下隨即數(shù)?
5#
發(fā)表于 2008-8-29 17:23:09 | 只看該作者
Subscript indices must either be real positive integers or logicals
6 C& S$ w: r. K# k% W: X7 MR$ P# O9 A3 s
3 U7 C  z0 {+ y中文解釋:下標(biāo)索引必須是正整數(shù)類型或者邏輯類型
2 E, ?  ^2 p8 R9 L  BW7 b# p# ]3 I' k8 m
) f' q- C+ j" x- R" V' r2 d3 G出錯原因:在訪問矩陣(包括向量、二維矩陣、多維數(shù)組,下同)的過程中,下標(biāo)索引要么從 0 開始,要么出現(xiàn)了負數(shù)。注:matlab 的語法規(guī)定矩陣的索引從 1 開始! P5 }" d0 l6 _1 c4 S

) T2 O' F- ^; p3 h0 ~; [; a! G6 A5 W) d6 d" i# E( Y7 l
這是網(wǎng)上搜到的資料   借鑒下
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規(guī)則

Archiver|手機版|小黑屋|機械社區(qū) ( 京ICP備10217105號-1,京ICP證050210號,浙公網(wǎng)安備33038202004372號 )

GMT+8, 2025-7-6 10:15 , Processed in 0.079805 second(s), 15 queries , Gzip On.

Powered by Discuz! X3.5 Licensed

© 2001-2025 Discuz! Team.

快速回復(fù) 返回頂部 返回列表