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

在自定义函数中使用global变量后函数function的关键字无效

[复制链接]

该用户从未签到

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

EDA365欢迎您登录!

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

x
我的计算中使用了最小二乘法拟合函数,因此自定义了一个函数,为了能把主函数中定义的变量直接拿过来在自定义函数中使用我就使用了global全局变量,第一次使用global变量,为什么在自定义函数中一使用global,就显示“此处使用的FUNCTION关键字无效”,麻烦大家帮忙看看' v3 A5 R9 P$ t
%主程序部分
, y, y. ]" w  Oclc;close all;clear all;& Q  ]- i. l7 ]
global wavelength_0 intensity OPD;% unit: m# ^4 G! @, j8 P" ~  _* P1 J5 w
wavelength_0=532*10^-9;
) X6 k" i) w4 f& o) Y  ]3 Zdata=xlsread('F:\扫描结果\aa.xlsx');%读数据
3 m# t% Q, Q$ Z- c9 I# Q8 U% }- Hintensity = data(:,1);
( o5 X1 C4 l. F& `: m4 q# jintensity = intensity'./max(intensity);
; [) S  X% ^- F- jintensity_number = length(intensity);+ q( J% H! z6 z2 P5 r1 b
OPD= linspace(0,intensity_number./30,intensity_number);
& ^; L% J6 _, k& ]0 ]) kfigure(1), ~$ x/ Z% G, [' {. S4 P
plot(OPD,intensity);2 i! p1 z7 I% w' [# c5 h) }: X
a0 = [0.133,0,2];    %初始估计值
( Y4 {, y8 z; w. C  J. ja = lsqcurvefit(@myfun,a0,OPD,intensity);0 E+ z: _  S- b% r- O0 `
F = a(1)+a(2)*cos(2*pi.*OPD./wavelength_0+a(3));
4 U8 a4 s. ^9 v, ^coherence = (max(newtype)-min(newtype))./(max(newtype)+min(newtype));
& Y1 S/ k" E/ v3 }5 E1 Ufigure(2)
8 v! J; |/ K2 F& {plot(OPD,coherence);
! L& j, `1 T' y1 E0 f9 r
  W2 E: @( ^! n6 R6 S( ?7 ~% X6 B* e
%下面是我新建了一个.m文件的自定义函数; P  E& l& z' Z
global wavelength_0 OPD;! t0 Y8 g" w$ i: B( o( {7 J- b
function F = myfun(a,OPD)%就是这里出问题的
/ L1 U) X/ c1 j3 L2 NF = a(1)+a(2)*cos(2*pi.*OPD./wavelength_0+a(3));
1 E4 m; e; A3 o5 J* p& x' fend
3 X2 j) U: Q# G# {" ?! J- C4 e+ l* R
3 \! B% q" y! J

该用户从未签到

2#
发表于 2021-2-5 14:11 | 只看该作者
帮你顶一下

该用户从未签到

3#
发表于 2021-2-5 17:32 | 只看该作者
顺序有问题,试试5 v( ?0 s9 p9 |  ?% q1 k6 t* j; x
%下面是我新建了一个.m文件的自定义函数, C4 L5 w) q% N) y2 i8 m; z) u

0 g3 o2 t; D# N4 A+ Wfunction F = myfun(a,OPD)%就是这里出问题的; ^1 [4 Z- p0 Y, v
global wavelength_0  
: L2 N, n: y" V6 P) m% ^# ?F = a(1)+a(2)*cos(2*pi.*OPD./wavelength_0+a(3));9 u  `4 h  G+ ?( c! t0 K8 o
end

该用户从未签到

4#
发表于 2021-2-5 17:39 | 只看该作者
来学习一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

EDA365公众号

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

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

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

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

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