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

自定义函数定义出错

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
自定义函数huice.m,代码如下:" h8 B1 C( N5 S/ S- {
function[Percent,Abs]=huiche(A);% c6 ]4 d% Z- @$ g5 Z
len=numel(A);3 l8 U% I! K; ^9 v. R6 H
Percent=zeros(len,1);. |' E% B* }4 P/ d, t. W, T) C
Abs=zeros(len,1);
2 R: r+ v# J3 i  w9 t1 S* l* q8 [C=A(1);
/ q% L5 G' G1 i" R9 F%计算最大的回撤比例7 I! u& h* V8 i4 u  D  e
for i=2:len
4 q3 W7 y/ \$ I/ W8 x: h: Z# j$ G( y    C=max(A(i),C);
3 u+ p6 l7 |$ |6 z3 Z" t! j    if C==A(i); D3 Q& ~8 n. V" B- l" s
        Percent(i)=0;
: W' i  U) O1 n& ~) `* z    else* ?' j9 v5 ?  j, I0 W9 z6 f9 W8 r
       Percent(i)=(A(i)-C)/C;- h  O; U, ~* `  y
    end
( L2 X' I) p7 w1 `end9 }" \3 |* v& @! C9 {1 K
%计算最大的回撤值
; P2 j5 w4 q, `+ `C=A(1);
( p% s; x1 h6 v+ y: z2 Wfor i=2:len* W6 ^7 V) P/ \- m  `0 ]
     C=max(A(i),C);) i) j) w2 j+ I, s
     if C==A(i)
9 m/ x, M& ^0 _9 u! m" W3 Y        Abs(i)=0;
: s8 s% s6 F3 h     else
4 M$ s; M# g6 J  |& g' z1 B9 c        Abs(i)=A(i)-C;# _, E) g$ W* o; z0 t$ r
     end" f, g3 p. m( @" l' ]6 N
end% V, _& }" d8 X7 x# P: W
end
; O8 b% V  J0 c- _. ~! T. t, u9 K( E$ a. I& R: L  x% x8 x

2 E) p, V- g9 I3 F8 W& b% L7 Z调用函数时代码(文件名:caulate.m)如下:
) N) R! ^2 _8 ^8 F9 |: r3 o* {A=0.7+(1.7-0.7)*rand(1,60);. x4 N" ]# ^& z% Z- E/ C( D7 z& D  D
[Percent,Abs]=huice(A);
1 d* t. g# |  J' o  N; n) Jfigure;
! l2 T1 G+ ]6 K' Ysubplot(3,1,1:2);% ~; ]6 x2 ?. |& p. T: ?! J9 Q
plot(A);- U- E' Y' W1 D+ p0 Z  ~
xlim([1 length(fund)]);( o- `- [! o* B# ?
title('fund','fontweight','bold');* M7 s% U* V, ]* z+ X
% v  k3 J% w- a9 P7 J: Z' {
subplot(3,1,3);% E' ~: \* D! Q5 I' M" k! m) F1 Z
plot(Percent);% ~' A9 g% W1 b3 X
xlim([1 length(fund)]);
2 O6 N* ?- d* t+ P/ T* O9 xtitle('最大回撤比例','fontweight','bold');
' s1 D6 e9 M2 E
( n7 c) `: a7 O; [. o5 w, M5 p
* J% ~2 k- c1 n$ x, ?5 d执行后出错提示:
! z+ o8 V0 e) p7 ~4 ~7 e尝试将SCRIPT huice 作为函数执行:
1 g1 s6 A% I$ l5 DD:\matlab文件\huice.m$ k; M* O) c4 @$ w/ }
出错[Percent,Abs]=huice(A);
, u2 L* H# r8 R
! r/ ^) _; m# T  Y( @9 I: d# ?% d* ^+ r" X
! y5 p% G# u/ F( H% k
求大神指教,感谢!
. A) R4 @2 V- W6 ^& j3 X

该用户从未签到

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

该用户从未签到

3#
发表于 2020-8-24 10:57 | 只看该作者
调用自定义函数时,在主程序和自定义的函数名要一致
5 x( q# N1 c* e% M/ r* g自定义函数名function[Percent,Abs]=huiche(A);
  c- b8 N+ c8 @主程序调用:[Percent,Abs]=huice(A);
* F9 ~; U( p. m两者不一致

该用户从未签到

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

本版积分规则

关闭

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

EDA365公众号

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

GMT+8, 2025-11-24 13:18 , Processed in 0.140625 second(s), 24 queries , Gzip On.

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

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

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