清华大学高等数值计算(李津)实践题目二(SVD计算及图像压缩)(包含matlab代码)
基于SVD图像压缩技术研究

Technology Research of Image Compression Based on S V D陈一虎 Chen Yih u(宝鸡文理学院,宝鸡 721013)(Baoji Un i versity of Arts and Sciences ,Baoji 721013,Chin a )摘 要 : 数字图像处理方法的研究源于两个主要领域:一是便于人们分解图像,对图像信息进行改进;二是使机器能自动理解图像。
后者正是我们所要研究的内容。
众所周知,在计算机中,图像是通过矩阵来表示的,一幅图像对应着一个矩阵,对图像的压缩就转换成了对矩阵的处理。
在数学中,对矩阵进行奇异值分解可以把一个矩阵分解成只用几个数来表示,而且这种分解具有很好的稳定性、唯一性和自相似性。
通过这种方法,就能用比较少的数据来表示相应的图像。
本文就是通过对图像的矩阵进行奇异值分解,将一幅图像转换成只包含几个非零值的奇异值矩阵, 实现图像压缩。
Abstr ac t : The theory about DIP (D i g i ta l Image Processing) i s used in two fi l e d. One i s the i m provement of the i nforma ti on about i ma g e , and theother i s the saving, transport and display. And the l a tter i s the object that we researched. It i s we ll known that the graph i s presented by matri x i ncomputer. So we can de a l w ith a graph by using the matrix. In m ath by using the mu l ti resolu ti on SVD, the matrix can be decomposed into just a fewnumbers, and the decompos i ti on i s very stable, un i qu e , and se l f -s i mi l a r. By this method ,we can express di g i ta l i ma g e w itn l e ss data. This paper propos es amu l ti resolu ti on form of the sin g u l a r va l u e decompos i ti o n (SVD), and shows how it may be used for si g n a l a n a l ysi s and a pprox ima ti on. D i g i ta l i ma g e i stransformed into s in g u l a r va l u e matrix that conta i n s nonzero sin g u l a r va l u e s by s in g u l a r va l u e decompos i ti on (SVD) so that the i ma ge i s compre sse d.关 键 词 : 图像压缩;矩阵;奇异值分解Key w o r d s : i ma g e depre ss ;ma tr i x ;s in g u l a r va l u e decompos i ti on文 章 编 号 :1006-4311(2011)13-0169-02中 图 分 类 号 :TP319 文 献 标 识 码 :A 存储和传输问题。
清华大学 李津老师 数值分析第二次实验作业

就不再赘述了。 二、实际计算 生成十个不同的(最好属不同类型或有不同性质的)的 m n 矩阵,这里 m, n 100 , 用你选择的算法对其做 SVD,比较不同方法的效果(比如计算小气一直和对应左右奇异向量的 误差,效率等),计算时间和所需存储量等,根据结果提出对算法的认识。 1.误差 在实验中,我们取 m=200,n=100,利用 orth()函数生成了正交矩阵������、������,再生成 了不同奇异值分布的奇异值矩阵������,再通过������ = ������������������,计算出不同的待分解矩阵。 各矩阵奇异值分不如下表所示 序号 1 2 3 4 5 6 7 8 9 10 奇异值个数 10 20 30 40 50 60 70 80 90 100 奇异值分布 10 → 1 20 → 1 30 → 1 40 → 1 50 → 1 60 → 1 70 → 1 80 → 1 90 → 1 100 → 1
−1 −1 −1 −1 −1 −1 −1 −1 −1 −1
经过 matlab 计算,我们得到了两种算法对奇异值的估计误差表,如下所示
序号 svd 1 2 3 4 5 1.2135e-29 1.0336e-28 3.9976e-28 7.9768e-28 1.5711e-27
i 1
100
i
i
2.5232e-27 4.6720e-27 5.8535e-27 8.7958e-27 9.8885e-27
r
i 1
ui uis r
2 2
i 1
vi vis r
2 2
lansvd
svd
lansvd
2 1.6 2.1333 2 2.16 1.8 2.3429 2.15 2 2
清华大学高等数值分析作业李津1——矩阵基础

20130917题目求证:在矩阵的LU 分解中,111n n Tn ij i j j i j L I e e α-==+⎛⎫=- ⎪⎝⎭∑∑证明:在高斯消去过程中,假设0jj a ≠ ,若a=0,可以通过列变换使得前面的条件成立,这里不考虑这种情况。
对矩阵A 进行LU 分解,()()()()()1111111L M n M M M n ---=-=••-………… ,其中()1n Tn ij i j i j M j I e e α=+⎛⎫=+ ⎪⎝⎭∑ ,i e 、j e 为n 维线性空间的自然基。
()M j 是通过对单位阵进行初等变换得到,通过逆向的变换则可以得到单位阵,由此很容易得到()M j 的逆矩阵为1n T n ij i j i j I e e α=+⎛⎫- ⎪⎝⎭∑。
故111n n T n ij i j n j i j L I e e I α-==+⎛⎫⎛⎫=- ⎪ ⎪ ⎪⎝⎭⎝⎭∏∑上式中的每一项均是初等变换,从右向左乘,则每乘一次相当于对右边的矩阵进行一次向下乘法叠加的初等变换。
由于最初的矩阵为单位阵,变换从右向左展开,因而每一次变换不改变已经更新的数据,既该变换是从右向左一列一列更新数据,故11nn Tn ij i j j i j L I e e α==+⎛⎫=- ⎪⎝⎭∑∑。
数学证明:1n Tij i j i j e e α=+⎛⎫ ⎪⎝⎭∑具有,000n j j A -⎛⎫ ⎪⎝⎭ 和1,1000n j n j B -+-+⎛⎫⎪⎝⎭ 的形式,且有+1,-11,10000=000n j j n j n j A B --+-+⎛⎫⎛⎫⎪⎪⎝⎭⎝⎭而11n n T ij i j j k i j e e α-==+⎛⎫ ⎪⎝⎭∑∑具有1,1000n k n k B -+-+⎛⎫⎪⎝⎭的形式,因此: 1311111211121==n n n n n n T T T n ij i j n ij i j n ik i k j i j j i j k n i k n n T n i i n ik i i i k L I e e I e e I e e I e e I e ααααα---==+==+=-=+==+⎡⎤⎛⎫⎛⎫⎛⎫⎛⎫⎛⎫⎛⎫=---⎢⎥ ⎪ ⎪ ⎪ ⎪ ⎪⎪ ⎪ ⎪⎝⎭⎝⎭⎢⎥⎝⎭⎝⎭⎝⎭⎝⎭⎣⎦⎛⎫⎛⎫⎛⎫=-- ⎪ ⎪ ⎝⎭⎝⎝⎭∏∑∏∑∑∑∑∑……11211n n n T Tk n ik i kk k i k e I e e α--===+⎛⎫⎛⎫=- ⎪⎪ ⎪⎭⎝⎭⎝⎭∑∑∑#20130924题目一问:能否用逐次householder 相似变换变实矩阵A 为上三角矩阵,为什么?解:不能用逐次householder 相似变换变A 为上三角矩阵,原因如下:A 记作:()12=,,n A a a a ……, ,存在householder 阵1H s.t. 1111H a e α= ,则()()()111111111111111111111,,,0T Th H AH H a A H e H A H e H A H h H A H ααα⎛⎫'''=== ⎪⎪'⎝⎭⎛⎫''=+ ⎪ ⎪⎝⎭11H A H ''第一列的元素不能保证为1e 的倍数,故无法通过householder 变换实现上三角化。
清华大学高等数值分析_第二次实验作业

清华大学高等数值分析课程作业第二次实验 作业第一题:构造例子特征值全部在右半平面时,观察基本的Arnoldi 方法和GMRES 方法的数值性态,和相应重新启动算法的收敛性。
答:1、计算初始条件1) 矩阵A 的生成根据实Schur 分解,构造矩阵如下形式11112222/2/2/2/2n nA n n n n ⨯-⎛⎫ ⎪ ⎪ ⎪- ⎪= ⎪ ⎪ ⎪- ⎪⎪⎝⎭其中,A 由n/2个块形成,每个对角块具有如下形式,对应一对特征向量i i i αβ+ii i i A αββα-⎛⎫= ⎪⎝⎭、 这里,取n=1000,得到矩阵A 。
经过验证,A 的特征值分布均在右半平面,如下图所示50100150200250300350400450500-500-400-300-200-1000100200300400500复平面中A 的特征值分布情况实部 Im(x)虚部 R e (x )特征值2) b 的初值为 b=(1,1,1,1..1)T 3) 迭代初值为 x 0=0 4) 停机准则为 ε=10-62、基本的Arnoldi 和GMRES 方法代入前面提到的初始值A 、b 、x0,得到的收敛结果如下10020030040050060010-710-610-510-410-310-210-110两种基本算法的||r k ||收敛曲线 (阶数n=1000)迭代次数||r k ||/||b ||基本的Arnoldi 算法基本的GMRES 算法结果讨论:从图中可以看出,基本的Arnoldi 方法经过554步收敛,基本的GMRES 方法经过535步收敛。
这是由于GMRES 具有残差最优性,会略快于Arnoldi 方法,但是,由于两种方法的基本原理近似,GMRES 方法不会实质性的提速。
此外,从收敛曲线上看,由于特征值均处在右半平面,收敛曲线平滑,收敛速度(收敛因子)比较均匀。
3、重启动的GMRES 和Arnoldi 算法对上述A 、b 、x0使用重启动的Arnoldi 和GMRES 算法。
2024年考研高等数学二计算机视觉中的数学方法历年真题

2024年考研高等数学二计算机视觉中的数学方法历年真题2024年的考研即将到来,高等数学作为计算机视觉的重要基础知识之一,在考试中占据着重要的分值。
为了帮助考生更好地应对考试,本文将通过回顾历年的真题,总结出计算机视觉中常见的数学方法,以期能为考生提供有益的参考和指导。
【前言】计算机视觉作为一门跨学科的研究领域,依赖于数学方法来实现图像的获取、处理和分析,其中高等数学是数学方法中的重要组成部分。
因此,在考研的高等数学二科目中,计算机视觉的题目涉及到的数学方法必不可少。
下面我们将具体看看历年真题中涉及到的数学方法。
【第一章:图像处理】1. 图像灰度化历年真题中,涉及到图像的处理过程,其中最常见的就是图像灰度化。
图像灰度化是将彩色图像转化为灰度图像,常用的转化方法有分量法、平均法和加权法等。
考生需要掌握这些方法,并能灵活运用于实际题目中。
2. 图像平滑和锐化为了去除图像中的噪声和增强图像的边缘特征,常常需要进行图像平滑和锐化操作。
图像平滑常用的方法有均值滤波和高斯滤波等,而图像锐化则可以通过拉普拉斯算子和梯度算子来实现。
对于考生来说,熟练掌握这些方法的原理和实现过程是十分重要的。
【第二章:模式识别】1. 特征提取模式识别中,特征提取是一个重要的环节。
特征提取的目的是从图像中提取出能够表征目标物体的特征信息,常用的特征包括边缘、角点、纹理等。
考生在备考过程中,需要熟悉各种特征提取方法,并且能够根据不同的应用场景选择合适的方法。
2. 分类器设计在模式识别中,分类器的设计是非常关键的一步。
常见的分类器包括最近邻分类器、支持向量机、决策树等。
考生需要了解各种分类器的原理和特点,并且能够根据具体的需求选择合适的分类器进行设计。
【第三章:图像分割】1. 阈值分割图像分割是指将图像分成若干个子区域,每个子区域内的像素具有一定的相似性。
在图像分割中,阈值分割是最基本且常用的方法之一。
通过设置合适的阈值,将图像中不同像素值的像素分割开来。
清华大学高等数值计算(李津)实践题目一(共轭梯度CG法_Lanczos算法与MINRES算法)

高等数值计算实践题目一1. 实践目的本次计算实践主要是在掌握共轭梯度法,Lanczos 算法与MINRES 算法的基础上,进一步探讨这3种算法的数值性质,主要研究特征值特征向量对算法收敛性的影响。
2. 实践过程(一)生成矩阵(1)作5个100阶对角阵i D 如下:1D 对角元:1,1,...,20,1+0.1(-20),21,...,100j j d j d j j ====2D 对角元:1,1,...,20,1+(-20),21,...,100j j d j d j j ==== 3D 对角元:,1,...,80,81,81,...,100j j d j j d j ====4D 对角元:,1,...,40,41,41,...,60,41+(60),61,...,100j j j d j j d j d j j =====-= 5D 对角元:,1,...,100j d j j ==记i D 的最大模特征值和最小模特征值分别为1iλ和in λ,则i D 特征值分布有如下特点:1D 的特征值有较多接近于i n λ,并且1/i i n λλ较小,2D 的特征值有较多接近于i n λ,并且1/i i n λλ较大, 3D 的特征值有较多接近于1i λ,并且1/i i n λλ较大,4D 的特征值有较多接近于中间模特征值,并且1/i i n λλ较大, 5D 的特征值均匀分布,并且1/i i n λλ较大(2)随机生成10个100阶矩阵j M :(100(100))j M fix rand =g并作它们的QR 分解,得j Q 和j R ,这样可得50个对称的矩阵Tij j i j A Q DQ =,其中i D 的对角元就是ij A 的特征值,若它们都大于0,则ij A 正定,j Q 的列就是相应的特征向量。
结合(1)可知,ij A 都是对称正定阵。
(二)计算结果以下计算,均选定精确解(100,1)exact x ones =,初值0(100,1)x zeros =由ij exact kA x b =计算得到k b (算法中要求解的精度为10e -)。
matlab数字图像处理图像运算+答案

matlab数字图像处理图像运算+答案实验⼆:图像运算⼀、实验⽬的掌握MATLAB语⾔中图像数据的读取、显⽰与保存⽅法;掌握统计图像灰度直⽅图的⽅法理解直⽅图均衡的原理和作⽤,掌握图像直⽅图均衡化的⽅法理解图像点运算、代数运算、⼏何运算的基本定义和常见⽅法进⼀步熟悉了解MATLAB语⾔的应⽤⼆、知识要点1.数据类型及图像类型间的基本转换函数数据类转换:B = data_class_name(A);2.imhist(H);%显⽰a的直⽅图histeq(H); %将图像a进⾏直⽅图均衡化adapthisteq(H); %将图像a进⾏直⽅图均衡化3.图像的点运算点运算是通过对图像中每个像素值进⾏计算,改善图像显⽰效果的操作,也称对⽐度增强或对⽐度拉伸或灰度变换。
可以表⽰为B(x,y)=f(A(x,y)).进⾏逐点运算,输⼊映射为输出,不改变图像像素的空间关系。
Y=aX+b %线性点运算Y=X+aX(max(X)-X) %⾮线性点运算4.代数运算代数运算是指对两幅输⼊图像进⾏点对点的加、减、乘或除运算⽽得到输出图像的运算。
四种图像代数运算的数学表达式如下:C(i,j)=A(i,j)+B(i,j) C=imadd(A,B)C(i,j)=A(i,j)-B(i,j) C=imsubtract(A,B);C(i,j)=A(i,j)*B(i,j) C=immultiply(A,B)C(i,j)=A(i,j)/B(i,j) C=imdivide(A,B)5.图像加噪函数imnoise(参阅matlab help)imnoise的语法格式为J = imnoise(I,type)J = imnoise(I,type,parameters)其中J=imnoise(I,type)返回对原始图像I添加典型噪声的有噪图像J。
参数type 和parameters⽤于确定噪声的类型和相应的参数。
J = imnoise(I,'gaussian',m,v) %加⼊均值m,⽅差为v的⾼斯噪声,m默认值0,v默认值0.01J = imnoise(I,'poisson') %加⼊泊松分布的噪声J = imnoise(I,'salt & pepper',d)%加⼊密度为d的椒盐噪声,d的默认值为0.05 J = imnoise(I,'speckle',v) %加⼊均值0,⽅差为v的乘性噪声三、实验内容1、将给定的Couple.bmp图像⽂件读出并显⽰,显⽰其灰度直⽅图,分别⽤histeq、adapthiateq函数将其直⽅图均衡化,观察均衡后的图像及其直⽅图。
清华大学2019-2020学年第一学期《高等数学》本科测试题

n a n b 5 x 2+ 3x 3 x 2+ 5x(n →∞ n - ⎪l n n nn →∞清华大学2019-2020学年第一学期《高等数学》本科测试题考试课程一元微积分(B )2020 年 10 月 25 日系名 班级姓名学号一.填空题(每空 3 分,共 15 题)(请将答案直接填写在横线上!)e tan x - e sin x1.lim x →0x - sin x= 。
2. lim sin πn →∞n 2 + n )=。
⎛ + ⎫n3. limn →∞⎝ ⎪= 。
2 ⎭n4.lim ⎛ n + ln n ⎫ln n = 。
⎝ ⎭5.当 x → 0 时, f( x ) =-x 的阶为 。
3 5 17 1 + 22n -16.已知 x n = • • • ...• 2 4 16 22 n -1 ,则lim x = 。
n →∞7. 设 x =(1+ a )(1+ a 2 )...(1+ a 2n),其中 a < 1,则lim x=。
8. 已知有整数n (n > 4)使极限 lim ⎡(x n + 7x 4+ 2)α - x ⎤ = A ≠ 0,则α=。
9.⎛ 23 -1 33 -1 43 -1 x →+∞ ⎢⎣⎥⎦ n 3 -1 ⎫ =。
lim 3 3 3... 3 ⎪ n →∞ ⎝2 +13 +14 +1 n +1 ⎭n10.lim ∑n →∞ k =1k 3 + 6k 2 +11k + 5 (k + 3)!= 。
⎛ 11. lim n →∞ ⎝ n 12 3 +12 + 22 n 3 + 22 + ...+ n 2 n 3 + n 2 ⎫ ⎪= 。
⎭ 12. lim 1!+ 2!+ ... + n != 。
n nn n!1+ x 2 2 )(α- β β 7 - 7 + 7 , 7 - 7 + 7 - 7 ,...k =113. 1 x 2+ 1- lim 2 = 。
x →0cos x - e x sin x 2n α=14. 已知limn →∞ n β- (n - 1)β =2017 ,则 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
主要思想:
传统的 算法和分而治之方法都是基于先将矩阵二对角化的 方法,而 方法是完全不同的方法,它通过一系列平面旋转(也称为 变换);最终使得矩阵收敛于一个对角矩阵。
其中每一个 设计成,使得对于一对选定的指标 ,有如下式子成立:
最终收敛时,令 ,有 ,且 具有互相正交的列向量,可以将 写成 ,其中 为对角矩阵, 为正交矩阵;从而得到原矩阵的 分解式。
先将矩阵 二对角化得到二对角阵 ,然后将求 的 问题分为两个子问题。
先将矩阵 写成如下形式:
其中 , 为上二对角矩阵, 是相应维数的向量中的第 个单位向量,并且一般我们取 。
现在假如我们已经求得了 , 的 如下:
,
并且令 为 的最后一行, 为 的第一行。那么将这些带入 ,可以得到:
可以看出中间的矩阵形式上很简单,除了对角元素和第 行上的元素,其它元素都为 ;这里先把它的 的计算问题放到最后,而假定已知其 为: ,将它带入上式,就可以得到 的 分解式:
主要步骤:
令 是最初的矩阵, 是 经过一次 旋转过得到的矩阵,其中 为对角矩阵, 是列向量范数全为1的矩阵。可以知道对 进行单边的 变换相当于对矩阵 进行双边的 变换。最终得到的矩阵 的列向量的范数就是所要求的奇异值,并且最终归一化以后的矩阵 的列向量就是左奇异向量。
第2部分实验计算
针对以上三种算法用 进行数值模拟,三个算法源自 工具箱,分别为 (传统的SVD算法), (分而治之)和 ( 方法)。实验中找10幅彩色图片(尺寸为 ),并将其灰度化,转化为数据矩阵,计算3种算法的计算时间和最小奇异值误差,以及左右奇异向量误差,并得到了相应的对比曲线图。左右奇异向量的误差通过 和 的矩阵2-范数的来评估。最小特征值误差,使用默认 自带的SVD算法得到的结果作为参考标准(实际中大多数情况也是无法知道确切的值)。
第1部分方法介绍
奇异值分解(SVD)定理:
设 ,则存在正交矩阵 和 ,使得
其中 ,而且 , 称为 的奇异值, 的第 列称为 的左奇异向量, 的第 列称为 的右奇异向量。
注:不失一般性,可以假设 ,(对于 的情况,可以先对 转置,然后进行 分解,最后对所得的 分解式进行转置,就可以得到原来的 分解式)
(iii)如果存在 满足 使得 ,则 , , , , ,转步(iv);否则转步(4)
(iv)确定 和 使
这也相应于
所以可以直接调用 变换算法得到
,
这相当于
(v)如果 ,则
, , ,
转步(iv),否则转步(i)
(4)构造正交阵 和 ,使 仍为上双对角阵,其中
,
得
,
,
然后转步(3)。
方法2:分而治之方法
在实际计算时,当 或者 (这里 是一个略大于机器精度的正数)时,就将 或者 视作零,就可以将 分解为两个低阶二对角阵的奇异值分解问题。
主要步骤:
(1)输入 及允许误差
(2)计算 变换 , ,使得
其中 ,
(3)收敛性检验:
(i)将所有满足 的 置零;
(ii)如果 ,则输出有关信息结束;否则, ,确定正整数 ,使得 , , ;
彩色图片1:
原始彩色图片
时
时
时
彩色图片2:
原始彩色图片
时
时
时
彩色图片3:
原始彩色图片
时时时彩色源自片4:原始彩色图片时
时
时
彩色图片5:
原始彩色图片
时
时
时
对比分析,可以看出 时,图像很不清晰,只能看个大概; 时,图像已经比较清晰了,但仍有些模糊; 时,图像已经和原图差不多了,肉眼已经很难看出与原图的差别了。
4.右奇异向量误差
比较结果可以看出, 方法和传统的 算法的右奇异向量误差较大,而分而治之方法要小得多。
小结:
传统的SVD算法,比较成熟,但是性能和精度上都不是很理想; 方法的效率不高,计算量大,所需的计算时间长;分而治之方法是一种快速算法,但相对精度不一定可靠,主要是由于其中的好多细节都因为技术没公开而缺少文献资料。实际应用中,可以根据需要选择特定的SVD算法。
其中
;
而计算 , 的 时也可递归地应用这种办法,至到子问题足够得小。
现在来讨论中间矩阵
的 问题,注意到通过排序,将第 行和第 列移到第1行和第1列,得到矩阵:
其中 是矩阵 , 的对角元,而 是中间矩阵的第 行元素,其中 为原 位置上的元素;我们继续对矩阵 进行排序,并且为了方便定义: ,使得排序后 , ,进而可以方便的求解原矩阵的 分解。
svdk.m图像压缩中进行svd分解
main.m图像压缩的主程序
main2.m比较3种算法的主程序
注:运行main2.m程序,Matlab程序中需要装有NAG工具箱。
functionB=svdk(A,k)
A=double(A);
[U1,S1,V1]=svds(A(:,:,1),k); a1=U1*S1*V1';
1.计算时间的比较:
比较结果可以看出, 方法的运算时间最长,传统的 算法和分而治之方法要快得多,其中分而治之方法是最快的,所需时间不到 方法的 。
2.最小奇异值误差
比较结果可以看出,3种算法对最小奇异值误差的影响差别不是很大,3种算法的误差都在 以内。
3.左奇异向量误差
比较结果可以看出, 方法的左奇异向量误差最大,传统的 算法和分而治之方法要小得多,其中分而治之方法是最小的。
(注:要成功运行以上3种算法,Matlab程序中需要装有NAG工具箱)
第3部分图像压缩
找5幅彩色图片(尺寸为 ),并将其转化为数据矩阵,对这些矩阵做 分解,并利用公式:
这里是 奇异值, , 为对应的奇异向量, ,且 。
选择 ,构造 ,并将其转化为图像输出。
本次试验取 给出压缩后的图像,并和原图进行比较。
方法1:传统的 算法
主要思想:
设 ,先将 二对角化,即构造正交矩阵 和 使得
其中
然后,对三角矩阵 进行带 位移的对称 迭代得到 。当某个 时, 具有形状 ,此时可以将 的奇异值问题分解为两个低阶二对角阵的奇异值分解问题;而当某个 时,可以适当选取 变换,使得第 行元素全为零的二对角阵,因此,此时也可以将 约化为两个低阶二对角阵的奇异值分解问题。
[U2,S2,V2]=svds(A(:,:,2),k); a2=U2*S2*V2';
[U3,S3,V3]=svds(A(:,:,3),k); a3=U3*S3*V3';
B=cat(3,a1,a2,a3);