找回密码
 注册
关于网站域名变更的通知
查看: 485|回复: 3
打印 上一主题 下一主题

关于这段代码between的用法

[复制链接]
  • TA的每日心情
    开心
    2022-1-21 15:22
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2022-11-9 10:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    % function amat=event_hyp(seis,t,x,0.4,700,v,1,3). R1 [+ b8 w5 z4 {7 k

    ' Y+ M( s9 \" r5 }/ Jv=2000;
    / g; {: E. [1 d* ]dx=10;/ ?8 }- G8 _! p2 }% l. P
    dt=.004;%basic model parameters25 k$ L2 W" Q& }/ l$ ]
    x=0:dx:2000;%x axis3
    8 \3 T0 o- q. q5 Y; Q( it=0:dt:2;%t axis4; u9 U* s; E4 P& S8 `+ N- g, m$ r8 B! C
    seis=zeros(length(t),length(x));/ O* w! x8 v8 d4 g5 a. x! E4 {
    % seis=event_hyp(seis,t,x,.4,700,v,1,3);
    0 ^' `2 y1 s! l( ]3 W! J; @1 }flag=1;aper=3;
    5 U3 J! c$ M: o8 y' `; otnot=0.4;
    : p! f, U. j+ D7 U0 yxnot=700;
    ! y: b1 ]* i. @amat=zeros(2000,2000);
    / A% W5 B4 {& h5 ~) K0 camp=1;0 c& a0 r* L: F" }" ]- ^8 A

    $ O9 h, Z0 l6 q. C: b% if(nargin<8)8 F; @1 h4 w# B
    %         flag=3;, U9 |# p5 r* ?1 g6 ?
    % end
    5 {- Q9 C+ \4 t2 ^) t% if(nargin < 9 )
    " U( ~/ B  B& g( U7 ~: q9 C1 j$ Z%         aper = inf;
    - `5 P/ A4 f) a% end
    7 W0 U, ?# B/ a" k( n3 @6 q1 i) X( z: N5 M2 y" ?" \
    v=v/2;" N0 W8 w- |/ C1 v* B  [$ ~( b: B

    ) G- X1 i' F! O5 E+ t6 Y1 g2 V/ e%loop over columns
    + d. |, P5 j/ k% |/ d[nsamp,nc]=size(amat);
    + f8 ~4 V& t" D3 _/ ^. Q: Z+ S0 \7 i
    dt=t(2)-t(1);: f, ^( k: `4 E  E4 {9 P! D
    tmin=t(1);
    8 m7 i) C" }4 |for k=1:nc
    + c5 b' A* L. M        xoff=x(k)-xnot;1 U( E4 A, \* _2 d. X
            if(abs(xoff) < aper)6 U( {% N, c0 e3 M. N* u
                    tk = sqrt(tnot^2+(xoff/v)^2);
    : S6 r. x* H9 ?& r7 d                a=amp;
    ; D5 b. k0 G% y0 U5 H4 R( R8 k                if(flag==2)
    , B8 }" q1 G" o2 b7 n                        a = tnot*a/tk;3 p' ]) n+ [5 b7 a- K
                    elseif(flag==3)" _+ o* W: U# ~) A6 A* k
                            a = tnot*a/(tk^1.5);- `1 K2 @# j1 A% N2 O3 r* T/ b
                    elseif(flag==4)( s/ d  U# X$ K; T+ ]4 Q# r: w
                            a = tnot*a/(tk*tk);8 E- C6 c& I7 j3 Z' N: [5 ~
                    end) c) g, p! Y- q3 y) g
                    ik=(tk-tmin)/dt+1;
    - K' w8 J& q. m/ r                if( between(1,nsamp,ik) )& \  W6 |4 g6 P5 Q- H. _. L. h
                            ik1=floor(ik);4 D/ H: g/ V( N' t  o2 D/ ?8 a
                            ik2=ceil(ik);+ |  t9 k& `$ g( |8 B
                            if(ik1==ik2)3 v; E, }, N7 ~0 [% p
                                    amat(ik1,k)=amat(ik1,k)+a;
    1 Y+ O& @# x$ q& k; A& z' R- ]                        else
    " Q  _  D7 ?& }' X6 \( C2 ?                                amat(ik1,k)=amat(ik1,k)+a*(ik-ik2)/(ik1-ik2);! z3 x0 |8 e) S
                                    amat(ik2,k)=amat(ik2,k)+a*(ik-ik1)/(ik2-ik1);
    : r; I% h& M5 x0 n$ I  K                        end
    6 Z. x) i" C8 e$ G" C                end0 i* H+ _# O$ k, z0 S3 d
            end
      J4 w  l) I0 a3 gend- k3 d7 I2 K1 B+ t" \4 j* f
    figure(1);imagesc(amat);colormap gray
    : s. j1 t/ M0 g' }- ~
    1 K% D- G+ s& _$ i在这段代码里面的between用法是不是有些不正确,因为是学习代码所以不太懂,问问大家/ b4 f# x- Y+ H# O# Y

    该用户从未签到

    2#
    发表于 2022-11-9 11:27 | 只看该作者
    确实用错了。between函数参数类型应该是datatime类型。

    点评

    请问该怎么修改呢?  详情 回复 发表于 2022-11-9 13:17
  • TA的每日心情
    开心
    2022-1-21 15:22
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
     楼主| 发表于 2022-11-9 13:17 | 只看该作者
    li205212021 发表于 2022-11-9 11:27# f% x# G# X( n: w. ]7 ?2 M: j
    确实用错了。between函数参数类型应该是datatime类型。
    % H4 o; d# Z  L( s# ^, k
    请问该怎么修改呢?6 F/ [) m7 e- Q* u& L

    该用户从未签到

    4#
    发表于 2022-11-9 13:24 | 只看该作者
    if (between(1,nsamp,ik),这个位置就是if的一个判断逻辑嘛。6 h. x, M* C8 Z
    问题是你要想知道怎么改,你首先得知道这个位置的判断逻辑是什么。
    9 h& m; v2 Q( T+ h# i) n6 E2 e
    " D- _  t7 A+ i) w/ {
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-7-6 12:21 , Processed in 0.125000 second(s), 27 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表