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

自定义函数定义出错

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
自定义函数huice.m,代码如下:
9 }/ y/ {" n2 Q* H! d7 ]function[Percent,Abs]=huiche(A);
3 Z6 K8 O5 Y/ K: ?len=numel(A);" O9 U! x% T% ?1 `
Percent=zeros(len,1);4 y. Z2 U  U% P9 U) s6 k
Abs=zeros(len,1);
' y, G1 v+ u) e3 mC=A(1);& w6 ]0 Q  w% K
%计算最大的回撤比例
* }/ ?% A: n5 s5 Hfor i=2:len
* |( n5 G6 M, |/ {4 {    C=max(A(i),C);9 p1 P# }5 z# ~2 h  @9 j
    if C==A(i)
6 ^2 z8 \8 O9 w/ X% S7 H3 G8 ~) H, J        Percent(i)=0;% F6 y6 t7 Z* m/ ^0 F
    else
$ s$ G. J) l/ o) y$ f) H% n" F       Percent(i)=(A(i)-C)/C;7 v7 n# d+ c" H% Z
    end
* }. p. Z) q$ bend) Z& w  q& Y* `
%计算最大的回撤值6 E# _% f% q: f( l7 K2 d
C=A(1);
- t3 D8 e+ u; R" Y4 [7 n9 t5 \for i=2:len
$ ?: V2 m+ H5 s9 t     C=max(A(i),C);; t& V. k4 v7 ?1 j
     if C==A(i)
3 F- g9 F5 f" B) D8 s& p        Abs(i)=0;- T  F" Z$ z) I" }9 Q
     else
$ @0 Z. }3 t% {3 W1 h$ B        Abs(i)=A(i)-C;
+ g1 S1 v' y6 {3 h2 S     end6 {" `( p9 T, ]/ n
end
6 u% s! a6 A( g* s3 u. |  Xend
' l5 D7 I2 [8 d5 R* w  ]9 w/ G7 e8 D) z4 `* s

  u6 E& o% c/ C! Z# G7 A; e! g调用函数时代码(文件名:caulate.m)如下:  _2 [& t. u0 }. a. f
A=0.7+(1.7-0.7)*rand(1,60);9 d" ^0 F7 w9 J# c5 U
[Percent,Abs]=huice(A);0 o% B; u# z1 V- s) Q, o
figure;- N+ i8 T# P( G* E& {- }/ \5 W" o
subplot(3,1,1:2);# h! e6 w+ R( x9 F5 n
plot(A);- H/ j# r6 V3 e4 E! B8 c. F
xlim([1 length(fund)]);! l$ Q" q( Q- B- Y7 f( B* x+ J. X
title('fund','fontweight','bold');0 w1 T$ n% w% e: Q, m& r* j
8 s: F2 p. v5 X
subplot(3,1,3);
" M; F/ G1 K8 d6 l, b" cplot(Percent);1 j' i; p; S/ Z# z# T
xlim([1 length(fund)]);8 f9 y) f/ X9 w! Q! t& \
title('最大回撤比例','fontweight','bold');
3 i  n3 C; w4 J' C
1 R  Y; |! o9 y7 @  }) ^$ T
6 l1 a8 T* ^5 \3 d, B执行后出错提示:+ e. T' k! T( v  b
尝试将SCRIPT huice 作为函数执行:
4 f9 b- O3 Q( F$ R5 l& ^D:\matlab文件\huice.m
& [; \8 ~7 |* A$ |( v出错[Percent,Abs]=huice(A);
$ L+ M! k/ g  @* r) S: _$ _3 _7 Q  x9 t% C
5 G* b! C7 T' @4 O- p  D0 I. J
$ z+ Q6 k( A# |8 t& x' I. W, S1 j% V
求大神指教,感谢!
- E" x! i- P; p% |( ^" U

该用户从未签到

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

该用户从未签到

3#
发表于 2020-8-24 10:57 | 只看该作者
调用自定义函数时,在主程序和自定义的函数名要一致) d- G+ v/ t) t  Q
自定义函数名function[Percent,Abs]=huiche(A);
3 z" n4 q3 z  h9 E4 {# l1 j主程序调用:[Percent,Abs]=huice(A);4 b3 h" B1 o1 `
两者不一致

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 17:25 , Processed in 0.187500 second(s), 24 queries , Gzip On.

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

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

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