【发布时间】:2014-12-14 14:39:41
【问题描述】:
我有一些关于 matlab 函数的作业。
任务是创建一个函数acc=accvec(m,rv,rl),它计算以下内容:
。
其中m 是一个 3x1 数组,rv 是一个 3x3x3 数组,rl 是一个 3x3 数组。我的解决方案如下:
function acc=accvec(m,rv,rl)
% calculate the acceleration of the object
s=size(rv);
acc=zeros(s(1),s(2));
global G
for i=1:s(2)
for j=1:s(2)
if i ~= j
for k=1:3
acc(k,i)=acc(k,i)-G*m(j)*rl(i,j)./rv(k,i,j)^3;
end
end
end
end
这是一个 rar 文件的link,其中包含所有使用的函数。如果您将rv 与r=[1 0 0; 0 1 0; 0 0 1] 和rl 与新计算的rv 一起输入并生成m=[1 2 3] 和G=1;,则结果应该是
acc =
-1.7678 0.3536 0.3536
0.7071 -1.4142 0.7071
1.0607 1.0607 -1.0607
但是我的函数 ac 引发了尺寸不匹配,我就是不知道为什么,我需要其他人来查看它并进行操作哦,这太简单了。
【问题讨论】:
标签: arrays matlab multidimensional-array