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

自定义函数定义出错

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
自定义函数huice.m,代码如下:
1 a5 y2 Q! I2 @8 N% bfunction[Percent,Abs]=huiche(A);1 P. i) X0 x8 o7 B" ^. H
len=numel(A);* C) N9 f) r6 |: j% Y; ]5 v; l
Percent=zeros(len,1);' \! U- t: z: f% q+ ^" h) m0 k3 H
Abs=zeros(len,1);5 W5 k; b7 e  c( W; ?8 M; o
C=A(1);9 f  ~! p+ r8 Y8 o+ C# E8 X
%计算最大的回撤比例
1 W  J; Q' B0 Q1 W5 c2 }! y( nfor i=2:len6 r/ r' f- i. c3 c7 T
    C=max(A(i),C);& }$ S* Y, U2 g
    if C==A(i)# A$ }0 V$ b+ h  ~9 e0 o' T
        Percent(i)=0;
5 Q4 a0 {: R( r/ j    else
) w: R0 x( t* p6 h) {/ T# y8 b       Percent(i)=(A(i)-C)/C;/ t. q2 f) l! _; P6 N
    end
$ Z; G" ]& P  e) s$ }end
4 r/ q6 v  d* |& {$ \5 f- k( I8 B%计算最大的回撤值+ _9 f  F! m5 s( Z8 h. m4 t( N9 W) p: H
C=A(1);
* u/ Y' |* @0 O! T8 j. Jfor i=2:len) y+ E# |5 _9 B8 o
     C=max(A(i),C);! R1 D; V( I0 ?! l
     if C==A(i)
! o6 ?. {. }$ M# E7 l9 n        Abs(i)=0;
/ z& P3 F1 E8 K8 p     else* P" }# z  @- H9 ?2 o9 M; A
        Abs(i)=A(i)-C;9 H- ]; M# }; p" P) x+ N: r
     end
. D0 E! q1 f* z; q/ I5 Cend/ ^+ ^3 d8 J9 I* L
end
6 K1 ?0 _5 Z4 y$ D" I- w) ^3 s& c6 S

( L, P6 z% n- d6 C4 ^) P( Z9 y" Z调用函数时代码(文件名:caulate.m)如下:$ o1 n$ k7 b, c. U' S
A=0.7+(1.7-0.7)*rand(1,60);3 t' h' |: _8 J  Y: D' n
[Percent,Abs]=huice(A);
. E' v/ O8 n( Mfigure;
* r6 m% i1 v3 A! Q" Zsubplot(3,1,1:2);
& K7 k3 u4 m9 }! E" Fplot(A);
, N) g) V" C0 T! M( Gxlim([1 length(fund)]);; Z" _9 T2 c: K$ T2 D
title('fund','fontweight','bold');
# Z  {0 ]# U0 U6 S2 k% _
" ~% M! J' p$ u# Bsubplot(3,1,3);% `0 _' p$ N! B- j1 @
plot(Percent);
- `: K2 b3 ~% W6 oxlim([1 length(fund)]);, ?5 }( |5 e/ f' u
title('最大回撤比例','fontweight','bold');% R- ?( T3 ^! P: K6 |6 j/ f
/ z$ }( \/ N9 s

' X1 \3 e; a5 J6 y% v执行后出错提示:* X6 ]" x: B  t6 o, J$ ^) `" l
尝试将SCRIPT huice 作为函数执行:( D' R. ~& i# k) g
D:\matlab文件\huice.m/ @! P. M+ @# E0 ~$ L* _' [5 s
出错[Percent,Abs]=huice(A);
  B# O/ k; Y! @4 g8 n
) h7 g/ {, N, m% u6 q" e4 {8 C
" Z+ j- G" }8 ]* L9 u& y
5 p9 |& F1 q$ I7 R4 K求大神指教,感谢!
  P, q7 T) D$ ^. }3 \, z. ^

该用户从未签到

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

该用户从未签到

3#
发表于 2020-8-24 10:57 | 只看该作者
调用自定义函数时,在主程序和自定义的函数名要一致
& u( p! T# b$ A1 Z5 ~自定义函数名function[Percent,Abs]=huiche(A);
7 X* C! n! E  p  K1 X8 a! B; n( \/ o主程序调用:[Percent,Abs]=huice(A);3 C+ i; }1 r. V( `5 S% g
两者不一致

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-7-27 19:54 , Processed in 0.109375 second(s), 23 queries , Gzip On.

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

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

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