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

自定义函数定义出错

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
自定义函数huice.m,代码如下:
4 \( L* |6 y* Qfunction[Percent,Abs]=huiche(A);) v% L* _- R( t
len=numel(A);
4 ]2 u7 P4 O* [0 V* [Percent=zeros(len,1);7 B8 M: U4 W* v( _7 Y! J1 O
Abs=zeros(len,1);/ t/ q6 K; [% A- w0 |: E
C=A(1);
1 F! O: @( J7 z% ~! T2 R/ [% ]1 o%计算最大的回撤比例, W7 p! J- X7 |
for i=2:len
/ }0 \" C4 b  o' d: K5 {    C=max(A(i),C);% Y- H8 @; m" ^. A3 E
    if C==A(i)
; E5 ]3 r# K( q        Percent(i)=0;6 |7 Q' [6 E: T# U- Y2 M
    else5 F, D, ~: q4 |% Y4 o- k& e
       Percent(i)=(A(i)-C)/C;
, r5 C4 v, B0 o) h    end+ Z% y$ F- F3 A; N; x
end( E, \) j* b$ C
%计算最大的回撤值
2 E  q2 K; X' x) {- KC=A(1);! u. ~  k6 C- Q; ]) i% K- ^% j/ u
for i=2:len- E* F; S6 A0 [/ ]" I1 u: u( i/ r
     C=max(A(i),C);
! f0 d- r( n; b7 \' O9 }, {     if C==A(i)) m% \3 v# s  Y
        Abs(i)=0;
7 q8 W' e* C& _- V; i     else
  d% S; D! L' _  `; D* b( \        Abs(i)=A(i)-C;. \" C5 ?6 @5 e9 f$ g
     end0 I2 j6 I  m$ `9 X
end+ c' G& g+ H# j
end
( K4 T# ?( C" g3 l: H0 k; T1 p1 ?8 |+ {1 ~6 Z+ U

  s2 y, k8 h! s0 `, a调用函数时代码(文件名:caulate.m)如下:% ?, x; N: h' T$ {1 E3 y" U
A=0.7+(1.7-0.7)*rand(1,60);
* p7 R+ D, g- T/ k[Percent,Abs]=huice(A);" M" J7 h7 T8 t4 D
figure;6 o% R' P& J- `3 T& t4 m5 R+ I& t  L
subplot(3,1,1:2);  i+ _8 n+ n  [$ B% j; y$ Z
plot(A);
# [9 F8 i+ o& f: x5 r1 o# rxlim([1 length(fund)]);
, K) [% \( t$ k% T8 k# b3 dtitle('fund','fontweight','bold');
; ]/ B. z8 U; Y9 m& B1 N; c% N) R  a/ B: ?
subplot(3,1,3);
# v3 r) b, x  U3 o$ E! p3 I5 tplot(Percent);9 a3 H' ~$ s. t
xlim([1 length(fund)]);
% ]! s  ?3 ~' e1 p* atitle('最大回撤比例','fontweight','bold');3 Q1 p# O$ f* n$ _! y; h

% H' E7 V, s+ w8 e( ]8 X; y8 H6 K
执行后出错提示:/ U$ ~9 _  k2 {  S& e  o7 T* j
尝试将SCRIPT huice 作为函数执行:
& c: H7 Z5 j7 rD:\matlab文件\huice.m
# g: c# M3 m& e$ P出错[Percent,Abs]=huice(A);
6 {4 b$ i+ f" q! F8 N, T, A, n# h7 P
8 I% }7 u5 @, Y3 P3 a. t* l

$ u  l7 a0 Q- n+ E2 D, G* ?求大神指教,感谢!" d7 v5 K5 P- A: x

该用户从未签到

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

该用户从未签到

3#
发表于 2020-8-24 10:57 | 只看该作者
调用自定义函数时,在主程序和自定义的函数名要一致/ D5 n2 m& f$ S& G
自定义函数名function[Percent,Abs]=huiche(A);
$ P3 h: i' n+ M, n) ]主程序调用:[Percent,Abs]=huice(A);: J+ N) C3 M0 E3 s! z3 A
两者不一致

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-8-16 21:24 , Processed in 0.125000 second(s), 23 queries , Gzip On.

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

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

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