You are now following this question
- You will see updates in your followed content feed.
- You may receive emails, depending on your communication preferences.
System Identification Toolbox with Multiple Input Variables and one Output Variable
48 views (last 30 days)
Show older comments
Hi Matlab community
Is there a way to conduct a system identification with multiple input parameters and one output parameter?
Thanks in advance
Accepted Answer
Star Strider
on 6 Oct 2022
If by ‘parameter’ you mean inputs and outputs respectively, yes.
See the iddata section on Input Arguments, then define the system appropriately using ssest or any other estimation procedure you want to use.
14 Comments
Benjamin Pommer
on 6 Oct 2022
One more question regarding the ssest: when I apply the function I get a fit of 100% display with my given data but when I use the compare command I get a horrible fit of hardly no match between the data. Why is that?
Star Strider
on 6 Oct 2022
I would have to have the data and your code to respond appropriately.
It may be that since the system is optimising for more than one input with one output, that the input you are using with compare may not have the best overall system estimate. (I usually model SISO systems, so I would have to have more information about a MISO system.)
The order of the system could be another reason, so experiment with that. One way to determine it is to take the Fourier transforms of the input and output (fft), and construct the transfer function by dividing the Fourier transform of the output by the fourier transform of the inputs. Plot the one-sided imaginary part as a function of frequency. The number of peaks (singularities) will be the number of poles, characteristically defining the system order. It may require tweaking by ±1 or so to get the best fit, since there could be a pole at infinity that will not show up on the imaginary part of the transfer fucntion plot. It will also tell you something about the system single response to the two inputs.
Bruno Araujo
on 16 Oct 2022
Hi!
I am new to Matlab and am having the same problem....
I have a system that three inputs (two flow inputs + pressure) affect my output (pressure) and I would like to use the System Identification Tool (Ident) to estimate this model. So far I have only been able to use this tool with one input.
I am sorry, but I am just getting started with Matlab and could not understand the answer from @Star Strider. Could you explain it again for a beginner?
The idea would be to declare a variable as a matrix, including all entries as columns of this matrix, and then I would be able to export to Ident as an input?
Thank you!
Star Strider
on 16 Oct 2022
The documentation explains it much better than I ever could. See the documentation I linked to. Be certain your data correspond to the requirements for iddata.
I prefer state space representations (ssest) because they are generally more robust, however use any estimation function you want.
Bruno Araujo
on 16 Oct 2022
I read the link again and I think I got it.
I did the tests as below, using your indication of ssest: Code.PNG.
I got the following result: Result.PNG (for above 3rd order, Matlab is showing error as "unstable system).
I still couldn't get the expected precision, but it was already an advance of 4% with only one input...
Thanks!
Bruno Araujo
on 1 Nov 2022
Hi! Sorry to bother you again... I'm a little lost with some control concepts and I'm not able to find an answer to a question... maybe you can help me then....
I would like to find the parameters of a PID controller (Kp, Ki, Kd) from a transfer function. Do you know any method/equation for quick calculation of these parameters?
This is the transfer function:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1175663/image.png)
Thanks so much
Bruno Araujo
on 1 Nov 2022
Could I do it simply like this? ...
Ki = 72.4 / 639.2
Kd = 72.4 x 639.2
Kp = 72.4
Star Strider
on 1 Nov 2022
Not really. I do not do much with PID controllers, and have not done anything with them for a long time.
It may be best for you to post this as a new Question.
Benjamin Pommer
on 1 Nov 2022
You could use picture.
And could you please open a new question if you have a request.
More Answers (0)
See Also
Categories
Find more on Linear Model Identification in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!An Error Occurred
Unable to complete the action because of changes made to the page. Reload the page to see its updated state.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)