我试图在matlab中为0到3的theta绘制此函数。 我在matlab中完全是新的。我制作了2个剧本。
首先使用symsum:
syms theta
u = [2,1,-1];
y = [3,2,1];
for theta = 0 : 0.1 : 2
Q(theta) = symsum((y(n) + u(n)*theta)^2,n,1,3);
end
plot(theta,Q(theta);
错误:索引或函数定义无效。
第二次使用symfun
for theta = 0 : 0.1 : 2
Q = symfun((3-2*theta)^2 + (2-theta)^2 + (1+theta)^2, [theta]);
end
plot(Q(theta), theta);
错误:y.vars = validateArgNames(输入);
答案 0 :(得分:2)
我只是想绘制函数然后应该工作
theta = 0 : 0.1 : 2 ;
Q = (3-2*theta).^2 + (2-theta).^2 + (1+theta).^2;
plot(Q,theta)
如果您想将y
和u
作为参数,您还可以执行以下操作
y = [3,2,1];
u = [2,1,-1];
theta = 0:0.1:2;
Q = zeros(size(theta));
for i = 1:length(y)
Q = Q + (y(i) - u(i).*theta).^2;
end
plot(Q,theta);