许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  条纹ZERNIKE多项式MATLAB计算方法

条纹ZERNIKE多项式MATLAB计算方法

阅读数 2
点赞 0
article_banner


条纹zernike多项式的表达式如下(前37项)。下文为其MATLAB表达式

function zernike = zernike_get(caseValue,lou,thita)

%基于MATLAB的zernike系数计算函数,三个参数分别对阶数,半径,角度

%半径与角度均为矩阵形式,生成方法参考meshgrid函数

p=lou;

a=thita;

switch caseValue

 case 1

   % 第1行

   zernike = 1;

 case 2

   % 第2行

   zernike = p .* cos(a);

 case 3

   % 第3行

   zernike = p .* sin(a);

 case 4

   % 第4行

   zernike = (2*p.^2 - 1);

 case 5

   % 第5行

   zernike = (p.^2) .* cos(2*a);

 case 6

   % 第6行

   zernike = (p.^2) .* sin(2*a);

 case 7

   % 第7行

   zernike = ((3*p.^2 - 2).*p) .* cos(a);

 case 8

   % 第8行

   zernike = ((3*p.^2 - 2).*p) .* sin(a);

 case 9

   % 第9行

   zernike = (6*p.^4 - 6*p.^2 + 1);

 case 10

   % 第10行

   zernike = (p.^3) .* cos(3*a);

 case 11

   % 第11行

   zernike = (p.^3) .* sin(3*a);

 case 12

   % 第12行

   zernike = ((4*p.^2 - 3).*(p.^2)) .* cos(2*a);

 case 13

   % 第13行

   zernike = ((4*p.^2 - 3).*p.^2) .* sin(2*a);

 case 14

   % 第14行

   zernike = ((10*p.^4 - 12*p.^2 + 3).*p) .* cos(a);

 case 15

   % 第15行

   zernike = ((10*p.^4 - 12*p.^2 + 3).*p) .* sin(a);

 case 16

   % 第16行

   zernike = (20*p.^6 - 30*p.^4 + 12*p.^2 - 1);

   % 第17行

 case 17

   zernike = (p.^4) .* cos(4*a);

   

   % 第18行

 case 18

   zernike = (p.^4) .* sin(4*a);

   

   % 第19行

 case 19

   zernike = ((5*p.^2 - 4).*p.^3) .* cos(3*a);

   

   % 第20行

 case 20

   zernike = ((5*p.^2 - 4).*p.^3) .* sin(3*a);

   

   % 第21行

 case 21

   zernike = ((15*p.^4 - 20*p.^2 + 6).*p.^2) .* cos(2*a);

   

   % 第22行

 case 22

   zernike = ((15*p.^4 - 20*p.^2 + 6).*p.^2) .* sin(2*a);

   

   % 第23行

 case 23

   zernike = ((35*p.^6 - 60*p.^4 + 30*p.^2 - 4).*p) .* cos(a);

   

   % 第24行

 case 24

   zernike = ((35*p.^6 - 60*p.^4 + 30*p.^2 - 4).*p) .* sin(a);

   

   % 第25行

 case 25

   zernike = (70*p.^8 - 140*p.^6 + 90*p.^4 - 20*p.^2 + 1);

   

   % 第26行

 case 26

   zernike = (p.^5) .* cos(5*a);

   

   % 第27行

 case 27

   zernike = (p.^5) .* sin(5*a);

   

   % 第28行

 case 28

   zernike = ((6*p.^2 - 5).*p.^4) .* cos(4*a);

   

   % 第29行

 case 29

   zernike = ((6*p.^2 - 5).*p.^4) .* sin(4*a);

   

   % 第30行

 case 30

   zernike = ((21*p.^4 - 30*p.^2 + 10).*p.^3) .* cos(3*a);

   

   % 第31行

 case 31

   zernike = ((21*p.^4 - 30*p.^2 + 10).*p.^3) .* sin(3*a);

   

   % 第32行

 case 32

   zernike = ((56*p.^6 - 105*p.^4 + 60*p.^2 - 10).*p.^2) .* cos(2*a);

   

   % 第33行

 case 33

   zernike = ((56*p.^6 - 105*p.^4 + 60*p.^2 - 10).*p.^2) .* sin(2*a);

   

   % 第34行

 case 34

   zernike = ((126*p.^8 - 280*p.^6 + 210*p.^4 - 60*p.^2 + 5).*p) .* cos(a);

   

   % 第35行

 case 35

   zernike = ((126*p.^8 - 280*p.^6 + 210*p.^4 - 60*p.^2 + 5).*p) .* sin(a);

   

   % 第36行

 case 36

   zernike = (252*p.^10 - 630*p.^8 + 560*p.^6 - 210*p.^4 + 30*p.^2 - 1);

   

   % 第37行

 case 37

   zernike = (924*p.^12 - 2772*p.^10 + 3150*p.^8 - 1680*p.^6 + 420*p.^4 - 42*p.^2 + 1);

end

end


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删

相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空