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

自定义函数定义出错

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
自定义函数huice.m,代码如下:
( |& s3 K% @" X2 ^function[Percent,Abs]=huiche(A);
7 ^6 x; x, Q! o4 V3 J7 ^2 e2 Q4 S& ]len=numel(A);
3 m) C7 h8 V6 `9 H# {Percent=zeros(len,1);
% |- V. D2 v% uAbs=zeros(len,1);
/ Z5 ]5 G& _3 f5 e5 q* `C=A(1);/ s: }7 J+ f- c/ l; a
%计算最大的回撤比例
$ g. W% o& B# B* wfor i=2:len
0 J# t+ T$ f' \7 ]  o8 I7 Q/ J    C=max(A(i),C);5 U1 }) n6 \' e+ B/ b$ F) |2 o
    if C==A(i)
" u$ W2 x2 I) t! n+ t) u8 m        Percent(i)=0;
/ V/ z" ]4 W% J; Q6 p    else9 m0 {. i1 e2 x1 N! C
       Percent(i)=(A(i)-C)/C;
! v* G4 G1 X; |    end- {& E2 k- K$ {. f1 ?6 q( @
end
, Z( J2 p3 T9 ?$ d& |0 E% P% b" B%计算最大的回撤值& ?7 X0 F5 ^" d: ^6 `# f1 t
C=A(1);
  i. y5 E* {# u& c. d0 j' ~4 _for i=2:len2 O+ v( s8 ?" ~  H2 ]+ R! x7 V  `
     C=max(A(i),C);+ R5 `, J1 ~. P7 n2 \
     if C==A(i)
7 w0 F- [) a4 ]        Abs(i)=0;
# a" I$ R, l: R0 ~- ^9 p# B. Q0 d     else
: z/ t1 o& r: `! z  h3 o( f        Abs(i)=A(i)-C;2 |; s, `2 N4 f6 a) i9 x, u$ g: v8 v
     end. i4 ]; D% t$ U1 K1 A
end3 v6 L  G4 [1 Y+ y, _
end
! C% v# q4 y' D$ W0 n& `$ F" Q& d( z( U* n* R$ L! {

6 O; g: _! O% m5 S调用函数时代码(文件名:caulate.m)如下:
) Q" x0 l* |* v$ ^7 K% |9 y. GA=0.7+(1.7-0.7)*rand(1,60);
4 o8 c; R6 q0 t+ p) J) Y; l[Percent,Abs]=huice(A);
* B. J/ D1 e' h# Tfigure;% }" ?6 h7 e- J9 C2 f1 T, [
subplot(3,1,1:2);# }  R5 F* o; G7 L) j' o
plot(A);
5 A8 n$ N6 }$ A) Y7 H5 bxlim([1 length(fund)]);
' |# w1 D: i: K, S) |) S8 ttitle('fund','fontweight','bold');7 Z( H" O. q9 j5 U" O; x8 [
5 F, }2 o: \( D: Z/ N% E/ R3 T
subplot(3,1,3);
( u! \* h6 }2 R8 Fplot(Percent);
6 u4 x5 {1 l, {; G3 ?  dxlim([1 length(fund)]);# M. @& j4 b7 F# A' v
title('最大回撤比例','fontweight','bold');1 m# {" `- L# T( O* N
" A; y+ {! K! X8 ?; A: c

$ o! Y9 c# B8 t执行后出错提示:8 r1 T; A/ R7 F4 p8 o+ B
尝试将SCRIPT huice 作为函数执行:
' V& a8 t$ l. U: RD:\matlab文件\huice.m
5 v- n1 ^. B+ v" X+ G出错[Percent,Abs]=huice(A);0 N% ]( H9 q5 ^8 W/ K7 {" ~' f* j
* g  k& x- }7 S2 ?2 Q' s6 Q% i( M

- n" H& m3 g8 R1 |  W
1 S# ^7 ~, \# z1 {/ P求大神指教,感谢!. V3 R' S5 R. S% v9 m* A% g0 s9 \

该用户从未签到

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

该用户从未签到

3#
发表于 2020-8-24 10:57 | 只看该作者
调用自定义函数时,在主程序和自定义的函数名要一致
/ S9 [; g1 v5 b0 g% |/ F自定义函数名function[Percent,Abs]=huiche(A);
# y8 F. q: Q* e6 a; T( W! Q主程序调用:[Percent,Abs]=huice(A);% n2 U" `$ r3 K8 v# c' H0 ]2 F
两者不一致

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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