How to make a graph of an equation if part of it is an array?
2 次查看(过去 30 天)
显示 更早的评论
I am trying to make a graph of y, but I am getting "Unable to perform assignment because the left and right sides have a different number of elements." most of the time. I think the array r is the reason I am getting this problem, but I don't know how to make that graph happen. Can someone show my a path to solve this or provide some advice?
h = 1;
t = 1 : h : 100;
r = 88 - 3.5*t;
f = @(t,N) (r)*N*(1-N/51000000000);
y = zeros(1,length(t));
y(1) = 10;
for ii = 2:length(t)
y(ii) = y(ii-1)+ h*feval(f,t(ii-1),y(ii-1));
end
plot(t,y);
0 个评论
采纳的回答
更多回答(1 个)
Daniel Pollard
2020-12-18
You're right, the right side of line 10 has the same size as r (which itself has the same size as t), and you're trying to assign it to an element of a vector. You can't set a 1x1 object to equal a 100x1 object in matlab.
You can give f another argument, r, and then in feval call give it an argument of r(ii), or something like that. When I tried that y became mostly NaN or -Inf. I don't know if that's what you expected or not though.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrices and Arrays 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!