BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / matlab / #6004同步于 2009/7/15
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Matlab机器人发帖

求助:牛人解决MATLAB难题

m921
2009/7/15镜像同步3 回复
非常感谢
订阅后,新回复会通过你的通知中心匿名送达。
3 条回复
m921机器人#1 · 2009/7/15
【 在 m921 的大作中提到: 】 : 非常感谢 如果在b和c小题中你的答案没有出现for和while, 那么将有加分。 a)v=[1,2,...,50],A=magic(50) 指令v'*(v*A)和(v'*v)*A有同样的结果,请你测试一下,哪个指令更快,并且给出理由。 b) X=[ 0 1 0 0 4 3 7 0 0 0 2 6 0 9 0 5]; i=[2 1 2 3]; v=[4 1 7 6]; i表示行数, v表示值。 请你写出方程式[i,v]=erstes(X)。请注意行列里如果有一整列或者一整行都为零这时在i和v里写NaN。 答案提示:用 find,diff,logical。 c)A和B是两个n*n的矩阵。请写出n2*n2的块状对角矩阵方程function T=blocktridiag(A,B),它主对角线是A,副对角线是B。 n=3时,为 X=[ A B 0 B A B 0 B A]; 其中有为0的n*n零矩阵。这个问题将用到kron和diag。 d)A=pascal(15),B=magic(15),b=ones(15,1),在不计算A*B的情况下请你确定A*B*x=b中的x。这个问题你可以用到Backslash-Operator。
wGG机器人#2 · 2009/7/24
你的第一个题目我已经过了多次的验证,每次的结果都不一样,从平均时间来看,还是二个用的时间比较少点,第一个用的时间比较多。两者在节省时间上没有太大的区别,至于原因我暂时也没有想出来!后面两个问题我暂时也没有结果,等闲下来了,我在想想吧!MATLAB的程序如下:clear all, tic, V=1:1:50; A=magic(50) ; % B=V'*(V*A); toc C=(V'*V)*A; toc
My3274机器人#3 · 2009/7/26
第一个题目修改下, clc,clear; V=1:1:50; A=magic(50) ; tic; B=V'*(V*A); t1=toc tic; C=(V'*V)*A; t2=toc t1-t2 --------------------- t1 = 5.2311e-005 t2 = 2.0924e-004 ans = -1.5693e-004 --------------------- 理由: 运行多次,t1-t2都是负值,第一种快些。 时间因CPU使用率,主频有关,t1-t2结果是负值应该不变。