System Identification Toolbox with Multiple Input Variables and one Output Variable
32 次查看(过去 30 天)
显示 更早的评论
Hi Matlab community
Is there a way to conduct a system identification with multiple input parameters and one output parameter?
Thanks in advance
采纳的回答
Star Strider
2022-10-6
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 个评论
Benjamin Pommer
2022-10-6
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
2022-10-6
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
2022-10-16
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
2022-10-16
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
2022-10-16
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
2022-11-1
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:
Thanks so much
Bruno Araujo
2022-11-1
Could I do it simply like this? ...
Ki = 72.4 / 639.2
Kd = 72.4 x 639.2
Kp = 72.4
Star Strider
2022-11-1
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
2022-11-1
You could use picture.
And could you please open a new question if you have a request.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Linear Model Identification 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!发生错误
由于页面发生更改,无法完成操作。请重新加载页面以查看其更新后的状态。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- 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)
亚太
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)