function calling problem in my main
1 回表示 (過去 30 日間)
古いコメントを表示
function [O]=fitness(x1,y1,x2,y2,start,goal)
dis=distance(start,goal);
theta=pathsmoothness (x1,x2,y1,y2,goal);
z=dis+theta;
O=1/(z+0.001);
end
function theta= pathsmoothness (x1,x2,y1,y2,goal)
theta1 =atan((y2-y1)/(x2-x1));
theta2= atan(((goal(2))-(y1))/(goal(1)-(x2)));
theta= theta1-theta2;
end
function [dis] = distance(start,goal)
%This function calculates the distance between any two cartesian coordinates.
delta_x=goal(1)-start(1);
delta_y=goal(2)-start(2);
% Calculate the distance to the goal
dis=sqrt(delta_x^2+delta_y^2);
%dis=sqrt((x1-x2).^2 + (y1-y2).^2);
end
Consider Start=[1,1] and goal [10,10]
When I try to call fitness function at the following line in my code. it says to many input arguments.
[particle(i).Cost, particle(i).Sol]=fitness(particle(i).Position);
I dont know how to resolve it.
2 件のコメント
KSSV
2019 年 4 月 9 日
Your function accepts x1,y1,x2,y2,start,goal........what does particle(i).Position output?
回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Analog Input and Output についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!