找回密码
 注册
关于网站域名变更的通知
查看: 495|回复: 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). o1 s1 X1 \+ ?2 A6 L

      c3 V5 f8 l5 S0 uv=2000;
    9 H& }6 b" ^  u5 ]3 bdx=10;
    ' g8 h' B4 n& o# z  C$ e2 ?6 ldt=.004;%basic model parameters2$ k. `+ m. D) C1 Y
    x=0:dx:2000;%x axis3
    9 ^3 R6 K" {$ |5 g' M$ i( mt=0:dt:2;%t axis4
    * j+ Q9 P- t8 h& G0 o3 i* Pseis=zeros(length(t),length(x));3 _! H* c  h# N2 B! W7 `
    % seis=event_hyp(seis,t,x,.4,700,v,1,3);
    * q' p5 d" L  d% Jflag=1;aper=3;8 t7 v5 V5 P7 q5 k" |/ B
    tnot=0.4;
      H2 \: `/ C1 o6 C' ^" rxnot=700;
    " n( I% b6 ?; I3 Kamat=zeros(2000,2000);+ D3 G4 {2 J! w2 I2 w0 \& D
    amp=1;6 ]% ~/ X: w+ ^3 ^: K

    6 w" e( w9 f# n; [9 }% ^- @% if(nargin<8)
    5 ^8 h; a0 J" v3 b# e4 k4 b%         flag=3;
    - {/ p& e7 X7 s% end" Q5 H4 z# I; t2 C0 m# k
    % if(nargin < 9 ), ^' Z1 s2 _7 r/ x, I4 B
    %         aper = inf;
    ) E( c% u, L, I: v& m3 p% end
    4 q6 z  V$ P2 ]. w0 y( P! I
    4 z5 z) Y/ s2 l1 }, x) ?* O5 W5 h9 J5 Dv=v/2;
    & T% I/ Z1 r" p0 `  `- l7 F' l0 T  ]& _, D0 b. [0 a( z9 s& u* j
    %loop over columns
    ( E: M2 [& H- C' C' c[nsamp,nc]=size(amat);
    7 j' x- E. n3 y/ m" C+ g0 r: k6 ^0 [! S) V( ~
    dt=t(2)-t(1);9 n, M$ r5 K, b1 Y2 r$ N  w
    tmin=t(1);' V% s- y$ }" g8 S  Z
    for k=1:nc6 i6 z* X- \3 l( u0 u
            xoff=x(k)-xnot;* d4 K4 ~( |( x3 S# ?' S4 D
            if(abs(xoff) < aper). F; z7 _. f) K8 `
                    tk = sqrt(tnot^2+(xoff/v)^2);
    ) [6 ?$ d: `3 z' _                a=amp;
    8 Q2 m8 U. R0 `% s% _: I0 @                if(flag==2)
    + d1 `( u, W4 c                        a = tnot*a/tk;/ [2 e4 \  J5 n1 V; H1 i& c1 S
                    elseif(flag==3)5 ?7 I" n! F1 v8 E) p8 F6 h2 z
                            a = tnot*a/(tk^1.5);" E6 c6 R8 O  a' h$ U
                    elseif(flag==4)
    4 u3 t5 r. d8 J1 u  I                        a = tnot*a/(tk*tk);
    & ]" s5 ^. k$ g2 Q                end
      ?' o5 S2 p6 q; ?7 |                ik=(tk-tmin)/dt+1;1 ]. p8 e  h1 _3 Y; F& n% M- t+ C+ N
                    if( between(1,nsamp,ik) )
    ; \! V4 g/ l# }* ~' @                        ik1=floor(ik);
    5 Y+ T4 S) R: U; h9 Y                        ik2=ceil(ik);
    7 g9 _: |+ B6 N! z8 q" p; S                        if(ik1==ik2); _, e* I$ d8 C1 ~/ q: ?0 N" Z
                                    amat(ik1,k)=amat(ik1,k)+a;
    0 L9 J+ e. r$ y& m5 Y                        else* h) j) n- S9 U. G( A
                                    amat(ik1,k)=amat(ik1,k)+a*(ik-ik2)/(ik1-ik2);# {$ E: d2 g3 v, C5 l. m$ P
                                    amat(ik2,k)=amat(ik2,k)+a*(ik-ik1)/(ik2-ik1);
    + n0 M. H/ q/ O9 O$ h; [2 F" O                        end3 a& [5 p- m" L, o$ v( c) Y7 q
                    end5 Q, N+ O, i- M$ D# [* j0 i
            end
    * f; L# g$ J4 ]9 pend7 @- P6 S. }6 D' a6 d
    figure(1);imagesc(amat);colormap gray7 L2 \5 L- v! y' K. @( T
    ( R" A' {: N& Z' I0 Z
    在这段代码里面的between用法是不是有些不正确,因为是学习代码所以不太懂,问问大家( y6 R# l% f( |3 `- H

    该用户从未签到

    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
    # s# s9 v, d: A2 u确实用错了。between函数参数类型应该是datatime类型。

    ! U# b7 o8 \# Z& y" a请问该怎么修改呢?( [* n- K' d/ s6 n# y

    该用户从未签到

    4#
    发表于 2022-11-9 13:24 | 只看该作者
    if (between(1,nsamp,ik),这个位置就是if的一个判断逻辑嘛。  U0 m( p, I* u" n# X3 f
    问题是你要想知道怎么改,你首先得知道这个位置的判断逻辑是什么。9 s# K( P0 J2 Z  d" A! o( f( a

    2 \  P2 W2 w( p* d7 k8 `" v7 W
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-8-1 12:39 , Processed in 0.109375 second(s), 24 queries , Gzip On.

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

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

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