too many input arguments error when i pass struct to my function
7 次查看(过去 30 天)
显示 更早的评论
muhammad ilyas khattak khattak
2021-5-14
评论: muhammad ilyas khattak khattak
2021-5-14
I am getting too many input arguments error when i pass struct to my function... struggling since last 2 days.... help requested....my called function and calling matlab script both files are attached :::
2 个评论
per isakson
2021-5-14
编辑:per isakson
2021-5-14
"many input arguments error when i pass struct to my function" I fail to reproduce any such error on R2018b.
First I ran SwarmOptimization14May2021 and encountered
Undefined function or variable 'Vehiclen'.
Error in SwarmOptimization14May2021 (line 79)
U(Vehiclen)
Then I commented out the two final lines
U(Vehiclen)
t(Vehiclen)
and ran SwarmOptimization14May2021 again. This time without errors.
All calls of CostTimeDCal1 are commented out in SwarmOptimization14May2021
muhammad ilyas khattak khattak
2021-5-14
编辑:muhammad ilyas khattak khattak
2021-5-14
采纳的回答
Walter Roberson
2021-5-14
f = @(x)CostTimeDCal1;
That says that when f is called, it should ignore its single input parameter and call CostTImeDCal1 with no input parameters. Are you sure that is what you want?
[Ur,tr] = f(x.n(n),x.U(n),x.t(n),x.Lambda(n),x.Betam(n),x.VarAlpha(n),x.fl(n),x.fe(n));
and there you call f with 8 input parameters. But f only expects one input parameter (which it would ignore anyhow.)
The code that is most likely for this kind of situation is:
f = @CostTImeDCal1;
and
[Ur,tr] = f([x.n(n),x.U(n),x.t(n),x.Lambda(n),x.Betam(n),x.VarAlpha(n),x.fl(n),x.fe(n)]);
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Argument Definitions 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!