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

自定义函数定义出错

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
自定义函数huice.m,代码如下:
( x; v0 v; v5 C% N4 W# c2 Hfunction[Percent,Abs]=huiche(A);. J% D. J. D- `+ J5 K2 q
len=numel(A);' M2 ]6 K( N) }$ o4 b8 ]. K
Percent=zeros(len,1);; a) w/ E3 x. L6 Z9 Y1 i, D) Y* X+ H
Abs=zeros(len,1);; z% ~5 G" }( z4 r; y1 e  }9 B
C=A(1);
/ n" ^3 P6 O% g7 ]1 Q%计算最大的回撤比例
, ]5 H/ n' G( R0 _3 d) f8 {0 W- Cfor i=2:len! T0 G/ V. c: t% P- V5 B/ c
    C=max(A(i),C);, {9 P% z6 ^8 M
    if C==A(i)5 `4 ?0 r: I7 G+ y" m* b
        Percent(i)=0;
' q. r6 g# S6 q3 y% w    else
( n5 ^. L: G7 s9 l/ V       Percent(i)=(A(i)-C)/C;) P9 e$ b  m4 H" j/ o5 z
    end) ^5 p/ u0 U1 u
end
1 B" D! K' t" T: P& N* r%计算最大的回撤值
4 H* R, x, p6 Y" D& C) Z/ z. gC=A(1);7 b% Z+ U, w* Q$ [
for i=2:len; d# W1 Y0 z) f
     C=max(A(i),C);
7 y. u$ a3 H; K     if C==A(i): ]# u+ p; J/ L
        Abs(i)=0;
) g* x, u8 N5 u  ?: F9 _     else
9 r  \, ^8 F- L/ W- Y4 H/ n- @        Abs(i)=A(i)-C;% y1 I* [) V& V
     end
/ A) V# a: g! S4 ^end: N( _' B6 p' ~3 Q
end# p8 |3 g* U! e7 Y; I

2 u- c  ~- W% R7 K; m+ _
, g7 B. N( I; \8 p3 \调用函数时代码(文件名:caulate.m)如下:# ^( p4 D6 O2 L7 E, U
A=0.7+(1.7-0.7)*rand(1,60);
( b# C: \$ w- `0 x" h/ L[Percent,Abs]=huice(A);& e; N  E8 ?. E0 X0 u2 b
figure;
/ Q) |) G3 S6 Z7 p! g% Ssubplot(3,1,1:2);* y: \, Y3 e" E
plot(A);
5 {1 E( @* w8 e" ~xlim([1 length(fund)]);9 P0 w2 s; {( W; j& p6 l' j
title('fund','fontweight','bold');
4 d5 i& ^' q2 `8 ~) c/ u% H7 n. C2 k" P
subplot(3,1,3);" o% A% o* \, {+ E4 h0 O
plot(Percent);
* T1 L( l. s8 j& r- U9 Uxlim([1 length(fund)]);4 U8 p4 y6 Z% h/ T1 F
title('最大回撤比例','fontweight','bold');8 z9 _/ {8 w% @& j8 @$ z& P6 h2 x

8 z/ J3 F5 w  V; y% Z6 s& Y. \- Y0 `1 z* n$ @" b6 g
执行后出错提示:+ O' f8 i, n- ]
尝试将SCRIPT huice 作为函数执行:1 Y& Y( B  ?4 t
D:\matlab文件\huice.m0 H1 O6 H6 }8 d; h
出错[Percent,Abs]=huice(A);0 J- V# w4 [9 n, S! Q
4 [7 H; `- n7 J& }
2 S0 D0 H0 b6 `  ^
* P/ o4 b  x! S
求大神指教,感谢!0 F2 f! X" |: n7 _, D. G4 I/ d

该用户从未签到

5#
发表于 2020-8-24 13:53 | 只看该作者
来学习一下

该用户从未签到

3#
发表于 2020-8-24 10:57 | 只看该作者
调用自定义函数时,在主程序和自定义的函数名要一致/ c, U0 Y6 J5 c8 ~  |
自定义函数名function[Percent,Abs]=huiche(A);
+ d+ a. w6 C+ ^1 b8 F: @' O& ]主程序调用:[Percent,Abs]=huice(A);
; n# M. p& i1 d8 T  `; y+ i两者不一致

该用户从未签到

2#
发表于 2020-8-20 14:26 | 只看该作者
帮你顶一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 19:32 , Processed in 0.171875 second(s), 24 queries , Gzip On.

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

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

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