extall / fomcon-matlab Goto Github PK
View Code? Open in Web Editor NEWFOMCON toolbox for MATLAB
License: MIT License
FOMCON toolbox for MATLAB
License: MIT License
sorry for typing again
I used the fod_v2_R2012b.zip you give me install in matlab 2012a. when i set the lanbda from fractional PID controller. i got a message from UI . It shows an error said "Error in 'untitled/ Fractional PID controller':Intialization commands cannot be evaluted --> Error: File fotf.m Line:1 Column 10 A class definition must be in an "@"directory". What is the problem about this message.is it still the version problem about it?(when i use the library of the block it shows ??? on it).
thank you for your patience.
In @fotf/mtimes.m at line #22 only the .ioDelay parameter of the TF class is used. However, in MATLAB the TF class contains three following fields: .IODelay, .InputDelay, and .OutputDelay. The first two can store the information about a delay, depending on which calculation methods have been used. My suggestion is to check both of these parameters.
It does not seem possible to enter parameters in a Frac tf(s) object in Simulink that have been defined in the Matlab workspace. Please advise.
I have a motor control block only use on matlab 2012a to control it. Is there have a lowest version to cover the 2012a matlab?
Thank you Aleksei for the useful toolbox. I wonder why the results using lsim are not the same for X and Z below. Would really appreciate your advice.
X=fotf([1 1], [1 0], 1, 0)
Fractional-order transfer function:
1
s+1
Z=tf(1,[1 1])
Z =
1
s + 1
yX=lsim(X,[1;0;0],[0:2])
yX =
0
0
0
yZ=lsim(Z,[1;0;0],[0:2])
yZ =
0
0.6321
0.2325
yX=lsim(X,[0;1;0],[0:2])
yX =
0
0.5000
0.2500
yZ=lsim(Z,[0;1;0],[0:2])
yZ =
0
0
0.6321
Simple test that results in an error:
G = fotf([1;2], [0.5; 1], [4;5], [1;0])
bode(G);
One needs to be careful here, because the first line will actually execute successfully and display the fotf
object, but running bode
to plot its frequency characteristics will fail in the second line.
The fix is simple, convert all input argument vectors into row vectors and/or perform additional checks of input arguments.
The solution will be introduced in the next bugfix release.
Currently, the biggest source of information about FOMCON, its usage, and use cases can be obtained from the following sources:
However, a true FOMCON manual is still nonexistent. Hence, this issue. The manual ought to target v1.50.x, because of the planned changes to FOMCON v2.x.
Im trying to work with the toolbox with a water tank system to test my fractional PI controller. It was producing weird results and even when I tried to test it with an integer pi by setting lambda=1 I dont get the same behavior that I get with my integer PI. I assume there is some problem in the fractional integration that I cant figure out. I need help
Is there a way to pass the transfer function parameters via command window or a m file? As of now, I can't write a variable in the block, unlike the regular Simulink transfer function block.
With the toolbox installed, upon launch of MATLAB R2022a, the following error is displayed in the MATLAB workspace:
Unrecognized field name "help_location".
Error in matlab.internal.doc.project.buildToolboxStruct>getSourceFileStruct/updateDocSourceFileStruct (line 88)
xmlFileStruct.help_location = fixSlashes(xmlFileStruct.help_location);
Error in matlab.internal.doc.project.buildToolboxStruct>getSourceFileStruct (line 76)
updateDocSourceFileStruct;
Error in matlab.internal.doc.project.buildToolboxStruct>getSourceFileStructArray (line 55)
fileStruct = getSourceFileStruct(file);
Error in matlab.internal.doc.project.buildToolboxStruct (line 3)
docFileStructArray = getSourceFileStructArray(docFiles);
Error in matlab.internal.doc.project.getCustomToolboxes (line 12)
customToolboxes = matlab.internal.doc.project.buildToolboxStruct(docFiles,demoFiles);
Error in matlab.internal.doc.updateCustomDocContent (line 2)
matlab.internal.doc.project.getCustomToolboxes;
The reason for this is a missing field (help_location
) in the info.xml
file.
Operating system: MacOS Big Sur v11.7.3.
Device: Macbook Early 2015.
Issue: GUIDE-based UIs are not displayed correctly. The UI dialog windows are of fixed size. When they are displayed, the contents on the right and on the bottom of the windows cannot be reached. Even docking the windows in MATLAB, will not help.
See attached image for details.
In simulink model while passing parameter (poles and zero polynomial ) in fractional transfer function block in the form of workspace variable it doesn't recognise variable already present in workspace
The issue is that depending on MATLAB path configuration, the FOMCON-specific function poly2str
may be shadowed by an obsoleted function from the Control System toolbox function having the same name. This seems to always happen with the Add-on installation of the toolbox.
The net result is that when the function is called internally in FOMCON, the obsoleted function gets invoked instead. Because the signatures are similar (and there is no check for types), this results in poly2str
of CST to generate gibberish instead of the actual output that should have been produced by the FOMCON function.
To see the order in which the functions are invoked, type
which -all poly2str
If the obsoleted function is shown first in the list, you will be affected by this bug. The solution is to install FOMCON manually by downloading the code from github and adding all of its files/folders to path. That way, the correct function will be called.
Is there a way in the FOMCON toolbox to directly identify a non-commensurate fractional order model of a given structure not necessarily with unity gain from a given higher order integer model i.e. without resorting to any input-output data?
Sir,
I wanted to check which fixed-step size solver would be appropriate for using FOMCON. The ones mentioned in your paper are variable step size and would not be applicable to my code.
I have tried running the code with ODE-4 Runge-Kutta, however, that results in an error.
Currently, the native object for storing time series data intended for “fractional identification” — fidata
— does not store any meta information about the given time series outside of a timestamp of when the object was created.
This is somewhat limiting for real-life applications, and should be updated, namely more metadata should be supported, such as
Since the implementation of this feature will be added to backlog, users are welcome to suggest other fields the object could have.
I have been optimize my system using discrete fractional PID controller, I find optimum PID and Lambda-Mu parameters. I need z-domain transfer function for the my experimental studies. I use my own methods to obtain TF, but it's not same with your block.
Hi,
I was using Discrete Fractional PID block in my simulink model for controlling a plant. Once I used the pre given values then results are OK. But when I use GA algorithm to optimize it's parameters then Discrete Fractional PID block doesn't work as per expectation and it gives different result even on the previous values.
When I delete the block and use new block it again give correct values and this loop continues....
Please have a look into this issue. I can even show you the problem through skype or some other mean.
Looking forward to hear from you.
With Regards
Sachin Sharma
Hi
I have noticed that the command isstable(SYS) always showing zero for the fractional PI controller, which means that the system is unstable.
I have changed the open-loop and closed-loop transfer functions with many others, and I have optimized the fractional exponent. However, every time I run that command, it shows me an unstable system!
Even if I plot the response for 100000 seconds, it shows me a perfect response without any oscillation or divergence!
I think that there is an issue with the fractional PI controller. Also, the following unsolved issue emphasizes my point about the fractional PI controller:
#3
Thanks
I am not able to register into the FOMCON support forum. It seems link is inactive. I have some serious doubts. What do I do?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.