2015年1月21日星期三
Matlab program for LU Factorization with partial (row) pivoting
上述代码等价的MATLAB内置函数是[L U P]=lu(A),此时满足LU=PA。
上述代码若修改成输出P比较好。即对应MATLAB的[L U P]=lu(A,’vector’)。此时满足LU=A(p,:)。
求解AX=B的时候我们需要交换A的行,对应的也需要对B进行相同的行交换。如果写成矩阵乘法的形式的话,LU分解后满足LU=PA,原方程AX=B变为LUX=PB,注意到求解出来的X的行没有发生交换。
万一需要p行变换的逆变换,那么p_back(p)=1:n即可。也就是说p向量比P矩阵更好用。P矩阵意味着需要进行矩阵乘法。
Reference: http://cis.poly.edu/~mleung/CS3734/s03/ch02/LU_pivot.htm
标签:
MATLAB,
Programming
2011年6月18日星期六
MATLAB随笔——图形的旋转放缩
使用MATLAB可以对图形进行旋转和放缩,这一切都是依赖这样一个矩阵
以下是示例代码,作用是绘制一个等边三角形,并不断迭代旋转缩小:
所得结果如下:
以下是示例代码,作用是绘制一个等边三角形,并不断迭代旋转缩小:
所得结果如下:
如果需要逆时针旋转,只需使用A的逆矩阵A^(-1)即可。
2011年4月6日星期三
使用MATLAB计算北京到纽约的新旧航线里程
数学实验的PPT课件参见百度文库
http://wenku.baidu.com/view/2eda008884868762caaed5a6.html
本文给出了实验的示例程序以及输出结果。
以下是mlab21.m的代码,用于计算北京到纽约的航线例程:
而旧航线里程为1144.90+1766.78+8283.06+4061.47= 15256.21 (km).
假设飞机按照统计的平均时速980km/h匀速前进,那么新航线比旧航线至少节约了4.35小时,这尚未包含在各个中转站花费的候机时间。
以下是mlab22.m的代码,用于在球面上绘制新旧航线:
这一段程序调用了skyway(p1,p2,color)函数,代码如下:
执行mlab.22之后,可以在Figure(1)窗口中看到绘制的新旧航线图:
http://wenku.baidu.com/view/2eda008884868762caaed5a6.html
本文给出了实验的示例程序以及输出结果。
以下是mlab21.m的代码,用于计算北京到纽约的航线例程:
执行mlab21后得到以下结果
Dmatrix =可以清楚的看到,北京直飞纽约的航线例程为10993.77km,
0 1144.90 2155.64 9608.53 10993.77
1144.90 0 1766.78 9936.44 11870.27
2155.64 1766.78 0 8283.06 10764.64
9608.53 9936.44 8283.06 0 4061.47
10993.77 11870.27 10764.64 4061.47 0
而旧航线里程为1144.90+1766.78+8283.06+4061.47= 15256.21 (km).
假设飞机按照统计的平均时速980km/h匀速前进,那么新航线比旧航线至少节约了4.35小时,这尚未包含在各个中转站花费的候机时间。
以下是mlab22.m的代码,用于在球面上绘制新旧航线:
这一段程序调用了skyway(p1,p2,color)函数,代码如下:
执行mlab.22之后,可以在Figure(1)窗口中看到绘制的新旧航线图:
![]() |
| 视角一(示太平洋) |
![]() |
| 视角二(示北极) |
标签:
Math,
MATLAB,
Programming
订阅:
博文 (Atom)



