以下内容摘自好友lyqmath新浪博客,在此借花献佛。
简介 线性代数相关领域中,矩阵操作一般是核心内容。对矩阵的特征值和特征向量的计算一直在数值计算占有重要位置。这里介绍一种根据指定个数来返回矩阵特征值及特征向量的方式。 代码
- % By lyqmath
- % Dalian University of Technology
- % School of Mathematical Sciences
- % http://blog.sina.com.cn/lyqmath
- clc; clear all; close all;
- % 地球的半径设为100
- R0 = 100;
- a = 12*R0; b = 9*R0;
- % 轨道周期设为T0
- T0 = 2*pi; T = 5*T0;
- dt = pi/100;
- t = [0:dt:T]';
- % 地球与另一焦点的距离
- f = sqrt(a^2-b^2);
- % 卫星轨道与xoy面的倾角
- th = 12.5*pi/180;
- E = exp(-t/20);
- x = E.*(a*cos(t)-f);
- y = E.*(b*cos(th)*sin(t));
- z = E.*(b*sin(th)*sin(t));
- figure; box on; hold on;
- axis off
- plot3(x, y, z, 'k');
- [X, Y, Z] = sphere(30);
- X = R0*X; Y = R0*Y; Z = Z*R0;
- surf(X, Y, Z);
- colormap('hot');
- shading interp;
- % 确定坐标范围
- axis([-18 6 -12 12 -6 6]*R0)
- view([117 37]);
- h = plot3(x(1), y(1), z(1), 'ro', 'MarkerFaceColor', 'g');
- set(gcf, 'Color', 'w');
- title('http://blog.sina.com.cn/lyqmath', 'FontWeight', 'Bold', 'Color', 'r');
- for i = 1 : length(x)
- set(h, 'xdata', x(i), 'ydata', y(i), 'zdata', z(i));
- pause(0.01);
- end
复制代码 结果
借助MATLAB来做动态系统的模拟,并利用显示功能来表达出动态效果。可以借助于此方法来应用于不同的研究领域与生活应用。
|