How do I overwrite a structure using a switch statement.
显示 更早的评论
Hello,
I have the following function:
function [A,N] = area(f,a,b,varargin)
%Structure definition
s = struct('fh',f,...
'a',a,...
'b',b,...
'N',64,...
'Tolerance',10^(-6),...
'Algorithm','MiddleSum');
... rest of the code
The structure contains the defaults values that will be used to run the function if the user doesn't provide values for 'N',Tolerance and Algorithm.
I need to use a SWITCH statement to overwrite the structure values if the user does provide any or all of the values, and it must be case insensitive.
So if the user enters area(X^2,0,2,'N',2,'AlGoRithm','TrapeZoid') the structure should replace the default values N=64, algorithm = MiddleSum, with N=2 and Algorithm = Trapezoid.
Can someone please help me?
回答(1 个)
Rik
2020-11-23
0 个投票
You can copy the code I used in my FEX submissions (see WBM, readfile, BlandAltmanPlot or RegGrow).
If you simply want to overwrite the default values you don't need a switch, you can simply use a loop.
4 个评论
Sylvina Barreto
2020-11-23
Rik
2020-11-23
If you look at my functions you will see I also did that. The benefit is that you can implement a test as well (validating input). Did you look up the functions I mentioned? Do they solve your question? Or do you need further clarification?
Sylvina Barreto
2020-11-23
Rik
2020-11-24
Do you have trouble finding which function you need to look at? Did you run any example with the debugger (so you can step through the code line by line)?
类别
在 帮助中心 和 File Exchange 中查找有关 Function Creation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!