9
tôi có chức năng sau:MATLAB: Làm thế nào để chuyển một tham số cho một hàm?
function ypdiff = ypdiff(t,y)
a = 0.01;
b = 0.1;
ypdiff(1) = -a*y(1)*y(2);
ypdiff(2) = b*y(1)*y(2)-b*y(2);
ypdiff(3) = b*y(2);
ypdiff = [ypdiff(1) ypdiff(2) ypdiff(3)]';
Nếu tôi muốn giải quyết việc này, tôi sẽ gọi hàm ode45 như sau:
[t y] = ode45(@ypdiff, [to tf], yo);
Nhưng nếu tôi muốn vượt qua một tham số để chức năng này, Tôi sẽ sử dụng hàm ode45 như thế nào? Cụ thể, tôi đang cố gắng để xây dựng sau đây:
function ypdiff = ypdiff(t,y,u)
a = 0.01;
b = 0.1;
ypdiff(1) = -a*u*y(1)*y(2);
ypdiff(2) = b*u*y(1)*y(2)-b*y(2);
ypdiff(3) = b*u*y(2);
ypdiff = [ypdiff(1) ypdiff(2) ypdiff(3)]';
lớn ... Cảm ơn rất nhiều .. Tuy nhiên , Tôi không thể làm cho nó hoạt động cho đến khi tôi loại bỏ ':' nhân vật – Legend
yep, đó là một lỗi đánh máy, xin lỗi;) – catchmeifyoutry
Oh ... Cảm ơn bạn đã làm rõ :) – Legend