这个程序如何编制
我想编制一个小程序,但总是调不通,请大家给我指点一下:for i=1:5
m=5*i;
=hv(m);
end
for i=1:5
m=i
for j=1:5;
AA(j,i)=cos(m*j*pi);
end
c(1,i)=simply(h*AA(:,i)-(1/2)*h(1,i)*AA(1,i)-(1/2)*h(1,5)*AA(5,1)
end
被调用的子函数为:
function =hv(m)
在运行是总是出现这样的错误:
??? Subscripted assignment dimension mismatch.
Error in ==> chebyshev at 18
=hv(m);
请大家给我看看,我编的出错误在哪了,先谢谢了 你单独运行前面试试
h只是一维的,=hv(m);这样试试
回复2楼
我改了,还是不能运行,真是郁闷!还能帮我研究一下吗? 原帖由 jgchen1973 于 2008-6-14 12:54 发表 http://www.chinavib.com/forum/images/common/back.gif我改了,还是不能运行,真是郁闷!还能帮我研究一下吗?
LZ把被调用的子函数代码也贴出来吧
回复4楼
被调用的子函数为:function =hv(m)
g=cos(m*pi/6);
h=sin(m*pi/3);
形式基本就是这样的!
谢谢
回复 楼主 的帖子
错误提示很清楚啊,你把向量赋给了数组的一个元素,即超出了被赋值变量的维数.c(1,i)=simply(h*AA(:,i)-(1/2)*h(1,i)*AA(1,i)-(1/2)*h(1,5)*AA(5,1) 在我电脑上运行得很好阿,只是simply这个命令没有,我改成simplify的话
c =
Columns 1 through 3
-0.00000000000000 0.86602540378444 0.43301270189222
Columns 4 through 5
0.00000000000000 0.86602540378444
如何改正啊?
我不知道如何去改啊?能否指点一下啊?谢谢了 原帖由 jgchen1973 于 2008-6-14 15:59 发表 http://www.chinavib.com/forum/images/common/back.gif我不知道如何去改啊?能否指点一下啊?谢谢了
clc
clear
for i=1:5
m=5*i;
=hv(m);
end
for i=1:5
m=i;
for j=1:5;
AA(j,i)=cos(m*j*pi);
end
c(1,i)=simplify(h*AA(:,i)-(1/2)*h(1,i)*AA(1,i)-(1/2)*h(1,5)*AA(5,1));
end
还是不运行啊!!
我修改了还是不能运行啊!到底是啥原因啊!我修改后可以运行了!
我修改后可以运行了,但是运行的结果形式如下:c =
336
c =
336 664
c =
336 664 984
c =
336 664 984 1296
c =
336 664 984 1296 1600
我是变化了里面的关系式,如果我仅要最后一组结果,有办法控制没有啊? 原帖由 jgchen1973 于 2008-6-14 16:47 发表 http://www.chinavib.com/forum/images/common/back.gif
我修改后可以运行了,但是运行的结果形式如下:
c =
336
c =
336 664
c =
336 664 984
是不是只要这一组:c =
336 664 984 1296 1600
要在下面一句后加分号,红色的
c(1,i)=simplify(h*AA(:,i)-(1/2)*h(1,i)*AA(1,i)-(1/2)*h(1,5)*AA(5,1));
在代码最后加一句:
c
谢谢10楼
很高兴,我按照你给我说的改了,结果很好,以后还会经常麻烦你和大家!如果可能,大家交个朋友,我的邮箱jgchen1973@163.com谢谢了!
如果进行下一步编程又会出现问题
我想把上面这个程序作为一个子程序被另一个程序调用,可是又总是出现问题,不知道这是为何?假如:我把这个程序定义为:
=mymain(n)
当然里面的一些参数也作了改变,可是运行是他总是出现错误提示:
??? Index exceeds matrix dimensions.
Error in ==> mymain at 15
c(1,i)=h*AA(:,i)-(1/2)*h(1,1)*AA(1,i)-(1/2)*h(3,1)*AA(3,i)
我就不知道为何了! 原帖由 jgchen1973 于 2008-6-14 19:12 发表 http://www.chinavib.com/forum/images/common/back.gif
我想把上面这个程序作为一个子程序被另一个程序调用,可是又总是出现问题,不知道这是为何?
假如:我把这个程序定义为:
=mymain(n)
当然里面的一些参数也作了改变,可是运行是他总是出现错误提示:
??? Index ex ...
c(1,i)=h*AA(:,i)-(1/2)*h(1,1)*AA(1,i)-(1/2)*h(3,1)*AA(3,i)
红色的地方是不是有错误?
页:
[1]
2