矩阵的扩展以及ode45
请问:怎样调用工具箱将5*5阶矩阵扩展为25*25的矩阵,其中原5*5阶矩阵以块矩阵分布在25*25阶的主对角线上,其它元素全为零.[ 本帖最后由 sigma665 于 2008-6-5 19:16 编辑 ] 原帖由 rushuidetian 于 2008-6-4 22:13 发表 http://www.chinavib.com/forum/images/common/back.gif
请问:怎样调用工具箱将5*5阶矩阵扩展为25*25的矩阵,其中原5*5阶矩阵以块矩阵分布在25*25阶的主对角线上,其它元素全为零.
是不是可以参考此帖?
http://www.chinavib.com/forum/viewthread.php?tid=64294&page=1#pid341586 a=ones(5);
b=cell(5,5);
for ii=1:5
for jj=1:5
if ii==jj
b{ii,jj}=a;
else
b{ii,jj}=(zeros(5,5));
end
end
end
c=cell2mat(b); help blkdiag
例子
a=ones(5);
b=blkdiag(a,a,a,a,a); 用kron也行;
a=diag(ones(1,5));
b=ones(5);
c=kron(a,b); 我在运行过程中出现以下情况,请问是什么意思?
??? Error using ==> d:/matlab/toolbox/matlab/funfun/private/odearguments
Solving ERWEIFUN requires an initial condition vector of length 1.
Error in ==> D:\matlab\toolbox\matlab\funfun\ode45.m
On line 155==> [neq, tspan, ntspan, next, t0, tfinal, tdir, y0, f0, args, ...
Error in ==> C:\Documents and Settings\hp\桌面\张培茹111\erweifangcheng.m
On line 78==>=ode45(@erweifun,,V0,[],M); 原帖由 rushuidetian 于 2008-6-5 16:21 发表 http://www.chinavib.com/forum/images/common/back.gif
我在运行过程中出现以下情况,请问是什么意思?
??? Error using ==> d:/matlab/toolbox/matlab/funfun/private/odearguments
Solving ERWEIFUN requires an initial condition vector of length 1.
Error in = ...
路径中不要有汉字(桌面\张培茹111),试试看 以前好多程序都是这个路径的,这个应该没有问题的.张培茹111那是个文件夹 原帖由 rushuidetian 于 2008-6-5 16:30 发表 http://www.chinavib.com/forum/images/common/back.gif
以前好多程序都是这个路径的,这个应该没有问题的.张培茹111那是个文件夹
LZ能否把代码贴出来? 与错误有关的代码如下:
% V0为初值
for m=1:2^(L+j)+2*N-1
for k=1:2^(L+j)+2*N-1
V0(k+(2^(L+j)+2*N-1)*(m-1),1)=sin(pi*x(m+1))*sin(pi*y(k+1));
end
end
V0;
=ode45(@erweifun,,V0,[],M);
function f=erweifun(t,V,M)
f=M*V;
现在运行结果是erweifun里需要一个长度为一的初始向量,请问怎么回事? function f=erweifun(t,V,M)
f=M*V;
这里面,给了t,却没有用到 V是关于t 的向量函数,以前我也这样用过,是正确的 根据提示
要有长度为1的初始条件
你的v0似乎没有给进去
或者,v0长度不符合要求
还是怀疑m函数没有写正确
[ 本帖最后由 sigma665 于 2008-6-5 21:10 编辑 ]
页:
[1]