作业帮 > 综合 > 作业

matlab多变量函数求最值Attempt to access minimum(-20,0,1.2)index must

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/07/14 23:07:10
matlab多变量函数求最值Attempt to access minimum(-20,0,1.2)index must be a positive integer logical
求最小受力 minimum的值,刚刚接触matlab,
r = 1.2:0.01:2.2;
theta = -20:1:80;
delta = 0:1:100;
m = 4;
g = 9.8;
L = 4;
c2 = (2.2^2 - 1.2^2)./(cos(delta - 20) - cos(delta + 80));
c1 = 2.2^2 + c2.*cos(delta +80);
a = (sqrt(c1 +c2) + sqrt(c1 - c2))/2;
b = c2/(2*a);
x = 1000000;
for theta = -20:1:100
for delta = 0:1:100
for r = 1.2:0.01:2.2
minimum = m.*r*g*L.*cos(theta)'./a.*b.*sin(theta + delta);
if minimum(theta,delta,r) < x
x = minimum(theta,delta,r);
end
end
end
end
disp (x)
minimum(theta,delta,r)
下标只能是正数.你的theta & r都不符合要求,你的minimun是一个数组,而不是一个函数
if minimum < x
x = minimum;
end
改成这样子试试
再问: 去掉括号里的可以运行了。 还想问下:
for theta = -20:1:100
for delta = 0:1:100
这个语句可以取遍所有的theta和delta的组合吗? 因为我想计算在这两个角度范围内的最小值。谢谢了
再答: 可以 ,但是取遍的话是相对的,取遍在这样写的意义就是每一个theta和delta的组合都包括了