现在时间是:
当前位置:首 页 >> Matlab>> 教学区>> 文章列表

16074312章安邦四元数

作者:   发布时间:2019-05-07 17:35:55   浏览次数:93

 1,  编写四元函数程序,实现M8N矩阵乘以N维向量

2,  用彩色照片生成3024*4032的四元素矩阵A,生成4032维四元素向量x=ones(4032,1)+[1:4032]’*i- ones(4032,1)*j+ [4032:-1:1]’*k计算3024维思源书向量b=Ax,并记录cpu运算时间

1.

%A=[A0 A2 A1 A3]  denotes a quaternion matrix A=A0+A1*i+A2*j+A3*k

 

%by zhigang

%On Jan 25,2015

%

[B0,B1,B2,B3]=A2A0123(B);

[C0,C1,C2,C3]=A2A0123(C);

A0=B0*C0-B2*C2-B1*C1-B3*C3;

A2=B0*C2+B2*C0-B1*C3+B3*C1;

A1=B0*C1+B2*C3+B1*C0-B3*C2;

A3=B0*C3-B2*C1+B1*C2+B3*C0;

%

A=[A0 A2 A1 A3];

 

 

 

 

function [A0,A1,A2,A3]=A2A0123(A)

% input A=[A0 A2 A1 A3]

% output: A0 A1 A2 A3

%by Zhigang Jia

% On Aug 14  2014

 

n=size(A,2)/4;

 

 

A0=A(:,1:n);

A2=A(:,(n+1):(2*n));

A1=A(:,(2*n+1):(3*n));

A3=A(:,(3*n+1):(4*n));

 

 

 

 

 

 

 

 

A0=rand(10,10);

>> A1=rand(10,10);

>> A2=rand(10,10);

>> A3=rand(10,10);

>> A=[A0 A2 A1 A3]

 

A =

 

  1 11

 

    0.1062    0.4228    0.6665    0.3689    0.1206    0.9827    0.0225    0.6999    0.9686    0.2810    0.4849

    0.3724    0.5479    0.1781    0.4607    0.5895    0.7302    0.4253    0.6385    0.5313    0.4401    0.3935

    0.1981    0.9427    0.1280    0.9816    0.2262    0.3439    0.3127    0.0336    0.3251    0.5271    0.6714

    0.4897    0.4177    0.9991    0.1564    0.3846    0.5841    0.1615    0.0688    0.1056    0.4574    0.7413

    0.3395    0.9831    0.1711    0.8555    0.5830    0.1078    0.1788    0.3196    0.6110    0.8754    0.5201

    0.9516    0.3015    0.0326    0.6448    0.2518    0.9063    0.4229    0.5309    0.7788    0.5181    0.3477

    0.9203    0.7011    0.5612    0.3763    0.2904    0.8797    0.0942    0.6544    0.4235    0.9436    0.1500

    0.0527    0.6663    0.8819    0.1909    0.6171    0.8178    0.5985    0.4076    0.0908    0.6377    0.5861

    0.7379    0.5391    0.6692    0.4283    0.2653    0.2607    0.4709    0.8200    0.2665    0.9577    0.2621

    0.2691    0.6981    0.1904    0.4820    0.8244    0.5944    0.6959    0.7184    0.1537    0.2407    0.0445

 

  12 22

 

    0.7549    0.0196    0.3968    0.8335    0.4070    0.4952    0.8154    0.2278    0.6260    0.6761    0.7805

    0.2428    0.3309    0.8085    0.7689    0.7487    0.1897    0.8790    0.4981    0.6609    0.2891    0.6753

    0.4424    0.4243    0.7551    0.1673    0.8256    0.4950    0.9889    0.9009    0.7298    0.6718    0.0067

    0.6878    0.2703    0.3774    0.8620    0.7900    0.1476    0.0005    0.5747    0.8908    0.6951    0.6022

    0.3592    0.1971    0.2160    0.9899    0.3185    0.0550    0.8654    0.8452    0.9823    0.0680    0.3868

    0.7363    0.8217    0.7904    0.5144    0.5341    0.8507    0.6126    0.7386    0.7690    0.2548    0.9160

    0.3947    0.4299    0.9493    0.8843    0.0900    0.5606    0.9900    0.5860    0.5814    0.2240    0.0012

    0.6834    0.8878    0.3276    0.5880    0.1117    0.9296    0.5277    0.2467    0.9283    0.6678    0.4624

    0.7040    0.3912    0.6713    0.1548    0.1363    0.6967    0.4795    0.6664    0.5801    0.8444    0.4243

    0.4423    0.7691    0.4386    0.1999    0.6787    0.5828    0.8013    0.0835    0.0170    0.3445    0.4609

 

  23 33

 

    0.7702    0.6074    0.5762    0.7093    0.4162    0.1192    0.9937    0.7720    0.1209    0.0495    0.5386

    0.3225    0.1917    0.6834    0.2362    0.8419    0.9398    0.2187    0.9329    0.8627    0.4896    0.6952

    0.7847    0.7384    0.5466    0.1194    0.8329    0.6456    0.1058    0.9727    0.4843    0.1925    0.4991

    0.4714    0.2428    0.4257    0.6073    0.2564    0.4795    0.1097    0.1920    0.8449    0.1231    0.5358

    0.0358    0.9174    0.6444    0.4501    0.6135    0.6393    0.0636    0.1389    0.2094    0.2055    0.4452

    0.1759    0.2691    0.6476    0.4587    0.5822    0.5447    0.4046    0.6963    0.5523    0.1465    0.1239

    0.7218    0.7655    0.6790    0.6619    0.5407    0.6473    0.4484    0.0938    0.6299    0.1891    0.4904

    0.4735    0.1887    0.6358    0.7703    0.8699    0.5439    0.3658    0.5254    0.0320    0.0427    0.8530

    0.1527    0.2875    0.9452    0.3502    0.2648    0.7210    0.7635    0.5303    0.6147    0.6352    0.8739

    0.3411    0.0911    0.2089    0.6620    0.3181    0.5225    0.6279    0.8611    0.3624    0.2819    0.2703

 

  34 40

 

    0.2085    0.6210    0.8589    0.3329    0.1771    0.4145    0.1757

    0.5650    0.5737    0.7856    0.4671    0.6628    0.4648    0.2089

    0.6403    0.0521    0.5134    0.6482    0.3308    0.7640    0.9052

    0.4170    0.9312    0.1776    0.0252    0.8985    0.8182    0.6754

    0.2060    0.7287    0.3986    0.8422    0.1182    0.1002    0.4685

    0.9479    0.7378    0.1339    0.5590    0.9884    0.1781    0.9121

    0.0821    0.0634    0.0309    0.8541    0.5400    0.3596    0.1040

    0.1057    0.8604    0.9391    0.3479    0.7069    0.0567    0.7455

    0.1420    0.9344    0.3013    0.4460    0.9995    0.5219    0.7363

    0.1665    0.9844    0.2955    0.0542    0.2878    0.3358    0.5619

 

>> B0=rand[10,1];

 B0=rand[10,1];

       

错误: 圆括号或方括号不对称或异常。

 

>> B0=rand(10,1);

>> B1=rand(10,1);

>> B2=rand(10,1);

>> B3=rand(10,1);

>> B=[B0 B2 B1 B3]

 

B =

 

    0.1842    0.0620    0.0133    0.5338

    0.5972    0.2982    0.8972    0.1092

    0.2999    0.0464    0.1967    0.8258

    0.1341    0.5054    0.0934    0.3381

    0.2126    0.7614    0.3074    0.2940

    0.8949    0.6311    0.4561    0.7463

    0.0715    0.0899    0.1017    0.0103

    0.2425    0.0809    0.9954    0.0484

    0.0538    0.7772    0.3321    0.6679

    0.4417    0.9051    0.2973    0.6035

 

>> C=timesQ(A,B)

 

C =

 

   -4.3704    1.8186    4.1711    4.4379

   -5.8416    4.4415    3.9706    3.7765

   -5.2004    3.2831    3.3351    2.4833

   -5.4963    3.7633    2.8733    3.0340

   -4.3399    4.1309    3.8971    2.4240

   -5.0674    4.6104    4.0127    3.5057

   -2.9813    2.8890    4.9191    3.1224

   -4.3645    3.3972    3.9605    4.1237

   -4.8239    3.7853    2.8847    4.6939

   -3.0044    2.6623    3.3935    2.9537

 

 

 

 

 

2

t0=cputime;

I=imread('1.jpg');%½«²Êͼת»»Îª¾ØÕó

 

A1=double(I(:,:,1));

A2=double(I(:,:,2));

A3=double(I(:,:,3));

A0=zeros(3024,4032);

q0=ones(4032,1);

q1=(1:4032)';

q2=-1*ones(4032,1);

q3=(4032:-1:1)';

A=[A0,A2,A1,A3];

Q=[q0,q2,q1,q3];

C=timesQ(A,Q);

t2=cputime-t0;

答案

T0=59.2302

T2=2.2464

 

 1,  编写四元函数程序,实现M8N矩阵乘以N维向量

2,  用彩色照片生成3024*4032的四元素矩阵A,生成4032维四元素向量x=ones(4032,1)+[1:4032]’*i- ones(4032,1)*j+ [4032:-1:1]’*k计算3024维思源书向量b=Ax,并记录cpu运算时间

1.

%A=[A0 A2 A1 A3]  denotes a quaternion matrix A=A0+A1*i+A2*j+A3*k

 

%by zhigang

%On Jan 25,2015

%

[B0,B1,B2,B3]=A2A0123(B);

[C0,C1,C2,C3]=A2A0123(C);

A0=B0*C0-B2*C2-B1*C1-B3*C3;

A2=B0*C2+B2*C0-B1*C3+B3*C1;

A1=B0*C1+B2*C3+B1*C0-B3*C2;

A3=B0*C3-B2*C1+B1*C2+B3*C0;

%

A=[A0 A2 A1 A3];

 

 

 

 

function [A0,A1,A2,A3]=A2A0123(A)

% input A=[A0 A2 A1 A3]

% output: A0 A1 A2 A3

%by Zhigang Jia

% On Aug 14  2014

 

n=size(A,2)/4;

 

 

A0=A(:,1:n);

A2=A(:,(n+1):(2*n));

A1=A(:,(2*n+1):(3*n));

A3=A(:,(3*n+1):(4*n));

 

 

 

 

 

 

 

 

A0=rand(10,10);

>> A1=rand(10,10);

>> A2=rand(10,10);

>> A3=rand(10,10);

>> A=[A0 A2 A1 A3]

 

A =

 

  1 11

 

    0.1062    0.4228    0.6665    0.3689    0.1206    0.9827    0.0225    0.6999    0.9686    0.2810    0.4849

    0.3724    0.5479    0.1781    0.4607    0.5895    0.7302    0.4253    0.6385    0.5313    0.4401    0.3935

    0.1981    0.9427    0.1280    0.9816    0.2262    0.3439    0.3127    0.0336    0.3251    0.5271    0.6714

    0.4897    0.4177    0.9991    0.1564    0.3846    0.5841    0.1615    0.0688    0.1056    0.4574    0.7413

    0.3395    0.9831    0.1711    0.8555    0.5830    0.1078    0.1788    0.3196    0.6110    0.8754    0.5201

    0.9516    0.3015    0.0326    0.6448    0.2518    0.9063    0.4229    0.5309    0.7788    0.5181    0.3477

    0.9203    0.7011    0.5612    0.3763    0.2904    0.8797    0.0942    0.6544    0.4235    0.9436    0.1500

    0.0527    0.6663    0.8819    0.1909    0.6171    0.8178    0.5985    0.4076    0.0908    0.6377    0.5861

    0.7379    0.5391    0.6692    0.4283    0.2653    0.2607    0.4709    0.8200    0.2665    0.9577    0.2621

    0.2691    0.6981    0.1904    0.4820    0.8244    0.5944    0.6959    0.7184    0.1537    0.2407    0.0445

 

  12 22

 

    0.7549    0.0196    0.3968    0.8335    0.4070    0.4952    0.8154    0.2278    0.6260    0.6761    0.7805

    0.2428    0.3309    0.8085    0.7689    0.7487    0.1897    0.8790    0.4981    0.6609    0.2891    0.6753

    0.4424    0.4243    0.7551    0.1673    0.8256    0.4950    0.9889    0.9009    0.7298    0.6718    0.0067

    0.6878    0.2703    0.3774    0.8620    0.7900    0.1476    0.0005    0.5747    0.8908    0.6951    0.6022

    0.3592    0.1971    0.2160    0.9899    0.3185    0.0550    0.8654    0.8452    0.9823    0.0680    0.3868

    0.7363    0.8217    0.7904    0.5144    0.5341    0.8507    0.6126    0.7386    0.7690    0.2548    0.9160

    0.3947    0.4299    0.9493    0.8843    0.0900    0.5606    0.9900    0.5860    0.5814    0.2240    0.0012

    0.6834    0.8878    0.3276    0.5880    0.1117    0.9296    0.5277    0.2467    0.9283    0.6678    0.4624

    0.7040    0.3912    0.6713    0.1548    0.1363    0.6967    0.4795    0.6664    0.5801    0.8444    0.4243

    0.4423    0.7691    0.4386    0.1999    0.6787    0.5828    0.8013    0.0835    0.0170    0.3445    0.4609

 

  23 33

 

    0.7702    0.6074    0.5762    0.7093    0.4162    0.1192    0.9937    0.7720    0.1209    0.0495    0.5386

    0.3225    0.1917    0.6834    0.2362    0.8419    0.9398    0.2187    0.9329    0.8627    0.4896    0.6952

    0.7847    0.7384    0.5466    0.1194    0.8329    0.6456    0.1058    0.9727    0.4843    0.1925    0.4991

    0.4714    0.2428    0.4257    0.6073    0.2564    0.4795    0.1097    0.1920    0.8449    0.1231    0.5358

    0.0358    0.9174    0.6444    0.4501    0.6135    0.6393    0.0636    0.1389    0.2094    0.2055    0.4452

    0.1759    0.2691    0.6476    0.4587    0.5822    0.5447    0.4046    0.6963    0.5523    0.1465    0.1239

    0.7218    0.7655    0.6790    0.6619    0.5407    0.6473    0.4484    0.0938    0.6299    0.1891    0.4904

    0.4735    0.1887    0.6358    0.7703    0.8699    0.5439    0.3658    0.5254    0.0320    0.0427    0.8530

    0.1527    0.2875    0.9452    0.3502    0.2648    0.7210    0.7635    0.5303    0.6147    0.6352    0.8739

    0.3411    0.0911    0.2089    0.6620    0.3181    0.5225    0.6279    0.8611    0.3624    0.2819    0.2703

 

  34 40

 

    0.2085    0.6210    0.8589    0.3329    0.1771    0.4145    0.1757

    0.5650    0.5737    0.7856    0.4671    0.6628    0.4648    0.2089

    0.6403    0.0521    0.5134    0.6482    0.3308    0.7640    0.9052

    0.4170    0.9312    0.1776    0.0252    0.8985    0.8182    0.6754

    0.2060    0.7287    0.3986    0.8422    0.1182    0.1002    0.4685

    0.9479    0.7378    0.1339    0.5590    0.9884    0.1781    0.9121

    0.0821    0.0634    0.0309    0.8541    0.5400    0.3596    0.1040

    0.1057    0.8604    0.9391    0.3479    0.7069    0.0567    0.7455

    0.1420    0.9344    0.3013    0.4460    0.9995    0.5219    0.7363

    0.1665    0.9844    0.2955    0.0542    0.2878    0.3358    0.5619

 

>> B0=rand[10,1];

 B0=rand[10,1];

       

错误: 圆括号或方括号不对称或异常。

 

>> B0=rand(10,1);

>> B1=rand(10,1);

>> B2=rand(10,1);

>> B3=rand(10,1);

>> B=[B0 B2 B1 B3]

 

B =

 

    0.1842    0.0620    0.0133    0.5338

    0.5972    0.2982    0.8972    0.1092

    0.2999    0.0464    0.1967    0.8258

    0.1341    0.5054    0.0934    0.3381

    0.2126    0.7614    0.3074    0.2940

    0.8949    0.6311    0.4561    0.7463

    0.0715    0.0899    0.1017    0.0103

    0.2425    0.0809    0.9954    0.0484

    0.0538    0.7772    0.3321    0.6679

    0.4417    0.9051    0.2973    0.6035

 

>> C=timesQ(A,B)

 

C =

 

   -4.3704    1.8186    4.1711    4.4379

   -5.8416    4.4415    3.9706    3.7765

   -5.2004    3.2831    3.3351    2.4833

   -5.4963    3.7633    2.8733    3.0340

   -4.3399    4.1309    3.8971    2.4240

   -5.0674    4.6104    4.0127    3.5057

   -2.9813    2.8890    4.9191    3.1224

   -4.3645    3.3972    3.9605    4.1237

   -4.8239    3.7853    2.8847    4.6939

   -3.0044    2.6623    3.3935    2.9537

 

 

 

 

 

2

t0=cputime;

I=imread('1.jpg');%½«²Êͼת»»Îª¾ØÕó

 

A1=double(I(:,:,1));

A2=double(I(:,:,2));

A3=double(I(:,:,3));

A0=zeros(3024,4032);

q0=ones(4032,1);

q1=(1:4032)';

q2=-1*ones(4032,1);

q3=(4032:-1:1)';

A=[A0,A2,A1,A3];

Q=[q0,q2,q1,q3];

C=timesQ(A,Q);

t2=cputime-t0;

答案

T0=59.2302

T2=2.2464

 

 







上一篇:没有了    下一篇:没有了

Copyright ©2020    计算数学达人 All Right Reserved.

技术支持:自助建站 | 领地网站建设 |短信接口 |燕窝 版权所有 © 2005-2020 lingw.net.粤ICP备16125321号 -5