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

自定义函数定义出错

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-8-20 13:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
自定义函数huice.m,代码如下:7 ?- I, [" z$ x3 f
function[Percent,Abs]=huiche(A);5 |  G5 P8 a) u7 U3 {5 w/ ]
len=numel(A);
9 E& k( J: a( q% \Percent=zeros(len,1);( |8 [' t3 g/ F) B: T2 G/ f- |
Abs=zeros(len,1);! C7 f& z$ W/ K5 w" l. q; Q( d
C=A(1);+ f  g: P- {  T( u: i8 o" V- k1 e) G3 i
%计算最大的回撤比例
6 }- w1 L' i/ Ofor i=2:len
  f' r5 n1 |/ e, y    C=max(A(i),C);1 f. b  f( f4 [4 q
    if C==A(i)
' G7 e8 @' k+ m$ {; [        Percent(i)=0;2 S+ U( G( b  w7 o; T
    else1 ^/ a0 B: Z- |2 @8 |
       Percent(i)=(A(i)-C)/C;
6 m( [) i; s7 d7 _9 x    end
. R: c8 W: E. J) Rend/ O; {$ L7 z8 {( k( A4 B3 B2 \) N
%计算最大的回撤值
: f  `# J0 Z# \  A  G. S$ ~$ {C=A(1);
6 H! W* R% s4 _for i=2:len
/ ?5 q/ l- m& Z( V     C=max(A(i),C);- H9 R& h: J3 V1 e
     if C==A(i)2 x5 w% m6 [6 P5 T
        Abs(i)=0;2 }2 S6 U4 f) y9 i
     else
) }, `6 \8 `: Q" x# k+ H        Abs(i)=A(i)-C;5 P, e5 W# p0 a+ ~0 F, O2 ~- A
     end" Y5 i1 ]0 Z. U- n* S" ~$ S; d
end
6 m+ _+ O3 R. m' e4 a4 _( {end' U# y1 s3 e; e7 E9 G" C( ~6 ~
" R3 S- p- S3 e
# R/ |7 ?* d+ A
调用函数时代码(文件名:caulate.m)如下:; r2 B8 B. n* a6 p; R
A=0.7+(1.7-0.7)*rand(1,60);/ \8 B" r% B/ D! }" Z+ s7 A+ q- Y
[Percent,Abs]=huice(A);
, f: ?& Z* H( y+ o* e/ Xfigure;
, T! A, R2 {4 q" S2 |6 P) M6 K. gsubplot(3,1,1:2);
4 J9 _' G6 E# Fplot(A);5 e0 x3 l) m- m) j7 a2 L' N# V% p
xlim([1 length(fund)]);7 g( y  H9 g6 k/ e2 R( ]+ t: z
title('fund','fontweight','bold');0 C" `, ~1 b5 X# }3 @

6 }' `4 F* `: k/ u2 ksubplot(3,1,3);4 K" g8 v  x. c; Q( w' x
plot(Percent);
' Q( S1 C: T$ Sxlim([1 length(fund)]);
* p0 e% ^4 b$ e2 ttitle('最大回撤比例','fontweight','bold');( @5 ^9 y3 t# |- J& |3 v# Z8 v

2 j8 M  K9 e, x3 o/ S4 J5 F8 p% A* J# h4 h; K4 U  U; a4 u
执行后出错提示:( }% ~  l: T- P1 I
尝试将SCRIPT huice 作为函数执行:( h2 c1 @6 i4 j; t/ R- S2 N/ }
D:\matlab文件\huice.m4 {  ~$ A6 S2 `8 j( Z$ U
出错[Percent,Abs]=huice(A);5 G/ Y1 D" z+ I, l& q0 W

& I2 Q2 a) @7 ?& X4 }: o5 T
; I8 s7 b* w: s6 T$ S6 b! b: n. [7 q4 X2 t: Z+ ~: s
求大神指教,感谢!
- Y. O0 [  I% R5 B9 }  G3 x& D

该用户从未签到

2#
发表于 2020-8-20 14:26 | 只看该作者
帮你顶一下

该用户从未签到

3#
发表于 2020-8-24 10:57 | 只看该作者
调用自定义函数时,在主程序和自定义的函数名要一致
4 n/ j3 l+ r8 S( b$ m自定义函数名function[Percent,Abs]=huiche(A);
- }6 w( O6 _8 u. x$ L" E) {: g主程序调用:[Percent,Abs]=huice(A);% X% E2 H5 {+ }) @4 v
两者不一致

该用户从未签到

5#
发表于 2020-8-24 13:53 | 只看该作者
来学习一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 13:50 , Processed in 0.140625 second(s), 23 queries , Gzip On.

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

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

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