【发布时间】:2012-12-12 15:47:59
【问题描述】:
我有一个大小为 9 b 的数组,我正在尝试将值分配给它。
r=a(7)+u*(b(8))+v*(b(9))
b(7)=r
我知道r 确实是一个 1X1 值,但对于 b(7)=r 我仍然知道:
Error in ==> myFunction at 37
b(7)=r
In an assignment A(I) = B, the number of elements in B and
I must be the same.
以下是 myFunction 的代码(带有 % 的 for 循环是我想要工作的)
function b=myFunction(u,v,a)
b(8)=0;
b(9)=0
r=a(7)+u*(b(8))+v*(b(9));
size(a)
size(b)
size(r)
b(7)=r
r=a(6)+u*b(6+1)+v*b(6+2);
b(6)=r;
b(5)=a(5)+u*b(5+1)+v*b(5+2);
b(4)=a(4)+u*b(4+1)+v*b(4+2);
b(3)=a(3)+u*b(3+1)+v*b(3+2);
b(2)=a(2)+u*b(2+1)+v*b(2+2);
b(1)=a(1)+u*b(1+1)+v*b(1+2);
%for i=7:-1:1
% b(i)=a(i)+u*b(i+1)+v*b(i+2);
%end
end
【问题讨论】:
-
你能打印 size(a) 和 size(b) 和 size(r) 吗?
-
怎么样?我做了
display(sprintf(' sizes: %d %d %d',size(a),size(b),size(r)));并没有得到任何帮助? -
我得到了
ans = 1 7 ans = 1 9 ans =1 1分别代表 b 和 r。这是否意味着我需要b(1,7)而不是b(7)? -
那里没有问题。这让我怀疑您没有发布 a、b 和 r 的实际尺寸。可以贴一下myFunction的代码吗?
-
刚刚做了,注释的 for 循环是我想要做的工作。实际编写的代码是相同的,只是没有使用 for 循环。
标签: matlab matlab-guide