查看完整版本 : [MATLAB数学相关] 求助各位运用MATLAB的几道数学问题
最近刚学matlab,遇到几道数学题实在是做不来啊,各位高手帮忙看看吧,不胜感激!!
1
1)
“对矩阵A=(-4 14 0;-5 13 0;-1 0 2)用幂法求最大特征值与特征向量”
2)直线X=X0 X0∈R 一族直线
Y=Y0 Y0∈R 一族直线
求经W=Z^2映射为什么曲线(画出)
2
设计一个求平方根的算法,并制作一个1~10000的整数平方根表(精确到小数点后5位)
3
设半径为r的圆Cr内切于半径为R的圆CR(R>r),当Cr在CR内作无滑动的滚动时,求Cr上一固定点P的轨道方程并绘出Cr, CR及P的轨迹的图形
1)R=2r 2) R=3r 3) R=(8/5)r
1)可用函数[V,D]=eig(A);
V:特征向量矩阵;
D:特征值矩阵。
~ ~
1)可用函数[V,D]=eig(A);
V:特征向量矩阵;
D:特征值矩阵。
~ ~
谢谢啊 后面那些题能指点下吗?:)
laosam280
2009-04-12, 20:38
1、幂法的函数文件
function[z,m] = power_m(A,max_it,tol)
[n,nn]=size(A); z= ones(n,1);%定义初始迭代值
it=0; error=100;
disp('it, m z(1) z(3) z(4) z(5)') %要计算超过5阶的矩阵,则修改此处的z(i)的值
while it<max_it && error>tol
%幂法的迭代核心步骤
w = A*z; ww=abs(w);
[k,kk] = max(ww); %kk为ww的最大元素的标号
m = w(kk); %特征值的近似值
z = w/w(kk); %特征向量的近似值
out = [it+1 m z'];
disp(out)
error=norm(A*z-m*z);
it=it+1;
end
error
laosam280
2009-04-12, 20:45
2、设计一个求平方根的算法,并制作一个1~10000的整数平方根表(精确到小数点后5位)
我的想法如下:
首先你可以直接用sqrt这个命令。Matlab已经可以给出15位的精度。
如果你要自己写一个算法的话,仍然是开方运算的步骤。以b=a*a为例
(1)找某个a1,使得a1*a1<b<(a1+1)*(a1+1),作为整数部分;
(2)找某个a2,使得(a1+0.1*a2)*(a1+0.1*a2)<b<(a1+1+0.1*a2)*(a1+1+0.1*a2),作为十分位;
。。。。。。
(5)一直重复到找到a6,disp('a1.a2a3a4a5a6'),就是你需要的结果。
不过我认为这完全没有必要。
laosam280
2009-04-12, 21:04
画直线的部分:
plot([xmin,xmax],[ymin,ymax])这个命令可以满足你的要求。如果要画与x轴平行的直线,只需要使得ymin=ymax,如果要画与y轴平行的直线,只需要使得xmin=xmax.
再用W=Z.^2,直接画图就是啊
另外,那个轨迹的问题我暂时没有想出解析表达式,但是画图不困难,因为是单摆方程。
silas_xue
2009-04-14, 18:20
lz 第3题的思路 个人见解
initialize: 建立以CR圆心为原点的rectangular coordinates
思路a
1 表达p的坐标与Cr圆心上坐标的关系, 即若Cr圆心的坐标为(Xc,Yc),p点坐标为(Xp,Yp),Cr半径为r,则p关于Cr的轨迹为Xp = Xc + r*cos(beta_1),Yp = Yc + r*sin(beta_1)...(1);
2 同理,我们很容易的知道Cr圆心关于CR(即原点)的轨迹(圆,不是么?)为,Xc = (R-r)*cos(beta_2),Yc = (R-r)*sin(beta_2)...(2);
3 消去(1),(2)式中的(Xc,Yc);
思路b
类似 不过是通过切点建立关系 这是的角度beta_1'为思路a中beta_1的一半。
Thx for reading.
PS:若还算满意,直接点击“Thanks”,再次登陆时亦便于查看回答是否真的帮到你了。
个人观点 仅供参考 多多交流 相互学习
vBulletin® v3.8.3,版权所有 ©2000-2025,Jelsoft Enterprises Ltd.